CVE-2026-30938
Parse Server has denylist `requestKeywordDenylist` keyword scan bypass through nested object placement
Impact
### Impact The `requestKeywordDenylist` security control can be bypassed by placing any nested object or array before a prohibited keyword in the request payload. This is caused by a logic bug that stops scanning sibling keys after encountering the first nested value. Any custom `requestKeywordDenylist` entries configured by the developer are equally by-passable using the same technique. All Parse Server deployments are affected. The `requestKeywordDenylist` is enabled by default. ### Patches The fix replaces the recursive object scanner with an iterative stack-based traversal that processes all nested values without prematurely exiting the scan loop. This also eliminates a potential stack overflow on deeply nested payloads. ### Workarounds Use a Cloud Code `beforeSave` trigger to validate incoming data for prohibited keywords across all classes. ### References - GitHub security advisory: https://github.com/parse-community/parse-server/security/advisories/GHSA-q342-9w2p-57fp - Fix Parse Server 9: https://github.com/parse-community/parse-server/releases/tag/9.5.1-alpha.1 - Fix Parse Server 8: https://github.com/parse-community/parse-server/releases/tag/8.6.12
Affected packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| npm | parse-server | < 8.6.12 | 8.6.12 |
Affected products
| Vendor | Product | Affected versions |
|---|---|---|
| Parseplatform | Parse-Server | before 8.6.12 from 9.0.0 before 9.5.1 |
Weakness classification
References
- NVD record
- CVE.org record
- GitHub advisory
- https://github.com/parse-community/parse-server/releases/tag/8.6.12
- https://github.com/parse-community/parse-server/releases/tag/9.5.1-alpha.1
- https://github.com/parse-community/parse-server/security/advisories/GHSA-q342-9w2p-57fp
- https://github.com/advisories/GHSA-q342-9w2p-57fp
- https://nvd.nist.gov/vuln/detail/CVE-2026-30938