GHSA-q342-9w2p-57fpMedium

Parse Server has denylist `requestKeywordDenylist` keyword scan bypass through nested object placement

Published
March 10, 2026
Last Modified
March 10, 2026

🔗 CVE IDs covered (1)

📋 Description

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 products2

  • npm/parse-server:< 8.6.12
  • npm/parse-server:>= 9.0.0-alpha.1, < 9.5.1-alpha.1

🔗 References (5)