Parse Server has denylist `requestKeywordDenylist` keyword scan bypass through nested object placement
Moderate severity
GitHub Reviewed
Published
Mar 7, 2026
in
parse-community/parse-server
•
Updated Mar 10, 2026
Package
Affected versions
< 8.6.12
>= 9.0.0-alpha.1, < 9.5.1-alpha.1
Patched versions
8.6.12
9.5.1-alpha.1
Description
Published to the GitHub Advisory Database
Mar 10, 2026
Reviewed
Mar 10, 2026
Published by the National Vulnerability Database
Mar 10, 2026
Last updated
Mar 10, 2026
Impact
The
requestKeywordDenylistsecurity 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 customrequestKeywordDenylistentries configured by the developer are equally by-passable using the same technique.All Parse Server deployments are affected. The
requestKeywordDenylistis 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
beforeSavetrigger to validate incoming data for prohibited keywords across all classes.References
References