Offcanvas top

Download

Release v1.5.7

This release is a security release to fix two security vulnerabilities and add a missing check in the verification API.

  • Fixed an authentication bypass via an HMAC signing oracle if the API debug mode is enabled. Found and reported by 5afagy via our security. Affected versions: > v1.1.0-beta.1 < v1.5.7
  • Fixed the incomplete list of privileges, which led to a privilege escalation for reader project members. Found and reported by 5afagy. Affected versions: > v1.4.0-beta.1 < v1.5.7
  • Added verification of the form signature in the verification process. This is not a security vulnerability, but an incomplete check. Found and reported by 5afagy.
  • Added an alert below the API debug mode warning not to use it in a production environment.
  • Added an exclamation icon in the project list for each project that has the API debug mode enabled.

We thank 5afagy for reporting, helping to understand, and fixing these security vulnerabilities and issues.

We recommend updating to v1.5.7 as soon as you can.

Details of the security issues

Description of the security issue

API Debug mode: The idea of the API debug mode is to help developers understand what is going wrong. Since the information mosparo returned was not masked, the same information can also be used by an attacker to create a valid API authorization.

Privilege escalation: The newly added submission rules (v1.5) as well as some functions of the optimized rule editor (v1.4) were not correctly protected. A project member with the role `Reader` can access and manipulate submission and field rules.

Risk assessment

Both risks are high and can be a real threat to a mosparo project. But there are very simple solutions for both risks (without updating to v1.5.7):

API debug mode: Disable the API debug mode in a project. The risk of this issue is eliminated. If the API debug mode was enabled in a productive environment, you should reissue the API keys.

Privilege escalation: Remove all project members with the role ‘Reader’. The risk of this issue is eliminated.

If the API debug mode is enabled, an attacker could send valid API requests for the verification, statistics, and rule package API endpoints.

In both cases, an attacker can change rules (privilege escalation) or rule packages (API debug mode). The other functionalities (verification and statistics API endpoints for API debug mode) do not change how mosparo works.

It is not possible to request any form or user data. Since there is no API endpoint for this, an attacker cannot request any form or user data. It is possible to request the metadata for a submission via the verification API endpoint, but the metadata is submitted manually from the frontend anyway (not internal metadata).

The API debug mode should not be enabled in a productive environment.

Changes to mitigate the security issues

API debug mode: The API debug mode now masks sensitive values. This is still helpful for a developer, but does not allow a valid API request.

Privilege escalation: The privileges were adjusted so that a project member with the reader role can no longer change the rules.

Future changes

For both cases, we’ve identified better solutions for the future. With our next bigger release, v1.6, we’ll resolve both situations with better options:

API debug mode: The API debug mode will be removed from mosparo. Instead, we’ll add an API response history that tracks API responses in a separate list in the administration area. Tracking can be enabled if required.

Privilege escalation: The system right now uses an ‘allowed by default’ system, which means that a reader always has access to every new route. With v1.6, we change that system to a ‘denied by default’ system, which means that a reader does not have access by default.

Download hosted by GitHub
SHA1: cf6378a8763905bb8ef8d5eab57ba55cc4da977e

Release v1.5.6

This release is a maintenance release to update the dependencies and the translations.

  • Updated the backend dependencies.
  • Updated the frontend dependencies.
  • Added new Khmer translations for the backend.

Download hosted by GitHub
SHA1: 7190c1ae2c732608256d739f9443adc141904b4e

Release v1.5.5

Version 1.5.5 is a security release to fix an issue with API authentication.

  • Fixed a timing attack security issue in the backend API endpoints to verify a submission, request statistics, and manage rule packages. Found and reported by senti-man via the security advisories (GHSA-9w98-5239-39c2).
  • Fixed the wrong command name for the refresh rule package cron jobs. Reported by ffPjrZUGXfcxuAj in #435

Thank you, senti-man, for finding and reporting this issue to us in private via the security advisories.

We recommend updating to v1.5.5 as soon as you can.

Details of the security issue

Description of the security issue

The API endpoints use hashes to validate requests and grant access to the backend. We’ve wrongfully used a simple string comparison, which means that you could guess the private API key by measuring the time.

Risk assessment

The risk of this security issue is manageable. To exploit this issue, an attacker needs to make many requests (thousands) and needs favorable network conditions to guess the correct private key.

Even if the attacker found the private key, the only bad things the attacker could do are adding metadata to a submission and manipulating rule packages, if there are any, in a mosparo project.

It is not possible to request any form or user data. If an attacker successfully obtained the private key, they could only obtain metadata for a submission, project statistics, and the contents of a rule package.

Changes to mitigate the security issue

As suggested by senti-man, we’ve switched the hash comparison to the hash_equals method, which PHP provides specifically for this kind of attack.

Download hosted by GitHub
SHA1: 00e4ea264edb79a7394ee4957bc770fabb134fc0

Release v1.5.4

Release v1.5.4 fixes a bug with the update process and adjusts the logging configuration.

  • Ensure that the project is not loaded after the update. If the update changes the table structure, the project table might not be compatible with the source files, leading to errors during the update process. Reported by OvalMedia and Moskito89 in #432
  • Added the required configuration to ignore the deprecation messages in the production environment from the log files and the console output. Reported by ffPjrZUGXfcxuAj in #435

Thank you very much for your help in fixing these issues!

Download hosted by GitHub
SHA1: 0274805edd363ddb6766703d338d63f490b712f3

Release v1.5.3

Version 1.5.3 is a bugfix release that fixes a bug and updates the translations.

  • Fixed a typo in a query when deleting a project. ffPjrZUGXfcxuAj reported this in #430
  • Updated the translations for Bulgarian, Catalan, and Spanish thanks to our contributors.

We’re thankful for all the contributions made by our contributors.

Download hosted by GitHub
SHA1: 754d608d5761fef257fef6851b797503abcda5c5
Load more
Loading...