GHSA-vpj2-qq7w-5qq6
parse-server has cloud function validator bypass via prototype chain traversal
En bref
- Publiée
- Mise à jour
- CVE
- CVE-2026-34532
- Alias
- BIT-parse-2026-34532
- CVSS_V4
- CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
Description
### Impact An attacker can bypass Cloud Function validator access controls by appending `.prototype.constructor` to the function name in the URL. When a Cloud Function handler is declared using the `function` keyword and its validator is a plain object or arrow function, the trigger store traversal resolves the handler through its own prototype chain while the validator store fails to mirror this traversal, causing all access control enforcement to be skipped. This allows unauthenticated callers to invoke Cloud Functions that are meant to be protected by validators such as `requireUser`, `requireMaster`, or custom validation logic. ### Patches The trigger store traversal now verifies that each intermediate node is a legitimate store object before continuing traversal. If the traversal encounters a non-store value such as a function handler, it stops and returns an empty store, preventing prototype chain escape. ### Workarounds Use arrow functions instead of the `function` keyword for Cloud Function handlers. Arrow functions do not have a `prototype` property and are not affected by this vulnerability. ### Resources - GitHub security advisory: https://github.com/parse-community/parse-server/security/advisories/GHSA-vpj2-qq7w-5qq6 - Fix Parse Server 9: https://github.com/parse-community/parse-server/pull/10342 - Fix Parse Server 8: https://github.com/parse-community/parse-server/pull/10343
Paquets affectés
| Paquet | Versions |
|---|---|
| npm · parse-server | introduced 9.0.0, fixed 9.7.0-alpha.11 |
| npm · parse-server | introduced 0, fixed 8.6.67 |
Références
- https://github.com/parse-community/parse-server/security/advisories/GHSA-vpj2-qq7w-5qq6 WEB
- https://nvd.nist.gov/vuln/detail/CVE-2026-34532 ADVISORY
- https://github.com/parse-community/parse-server/pull/10342 WEB
- https://github.com/parse-community/parse-server/pull/10343 WEB
- https://github.com/parse-community/parse-server/commit/4fc48cf28f22eea200d74d883505f485234a48d7 WEB
- https://github.com/parse-community/parse-server/commit/dc59e272665644083c5b7f6862d88ce1ef0b2674 WEB
- https://github.com/parse-community/parse-server PACKAGE
Sources
| Source | Licence |
|---|---|
| OSV.dev | CC-BY 4.0 — GitHub Advisory Database |