{"id":"GHSA-q342-9w2p-57fp","summary":"Parse Server has denylist `requestKeywordDenylist` keyword scan bypass through nested object placement","details":"### Impact\n\nThe `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.\n\nAll Parse Server deployments are affected. The `requestKeywordDenylist` is enabled by default.\n\n### Patches\n\nThe 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.\n\n### Workarounds\n\nUse a Cloud Code `beforeSave` trigger to validate incoming data for prohibited keywords across all classes.\n\n### References\n\n- GitHub security advisory: https://github.com/parse-community/parse-server/security/advisories/GHSA-q342-9w2p-57fp\n- Fix Parse Server 9: https://github.com/parse-community/parse-server/releases/tag/9.5.1-alpha.1\n- Fix Parse Server 8: https://github.com/parse-community/parse-server/releases/tag/8.6.12","aliases":["BIT-parse-2026-30938","CVE-2026-30938"],"modified":"2026-03-16T03:09:53.686020Z","published":"2026-03-10T00:57:37Z","database_specific":{"severity":"MODERATE","github_reviewed":true,"github_reviewed_at":"2026-03-10T00:57:37Z","nvd_published_at":"2026-03-10T18:18:53Z","cwe_ids":["CWE-693"]},"references":[{"type":"WEB","url":"https://github.com/parse-community/parse-server/security/advisories/GHSA-q342-9w2p-57fp"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-30938"},{"type":"PACKAGE","url":"https://github.com/parse-community/parse-server"},{"type":"WEB","url":"https://github.com/parse-community/parse-server/releases/tag/8.6.12"},{"type":"WEB","url":"https://github.com/parse-community/parse-server/releases/tag/9.5.1-alpha.1"}],"affected":[{"package":{"name":"parse-server","ecosystem":"npm","purl":"pkg:npm/parse-server"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"8.6.12"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/03/GHSA-q342-9w2p-57fp/GHSA-q342-9w2p-57fp.json"}},{"package":{"name":"parse-server","ecosystem":"npm","purl":"pkg:npm/parse-server"},"ranges":[{"type":"SEMVER","events":[{"introduced":"9.0.0-alpha.1"},{"fixed":"9.5.1-alpha.1"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/03/GHSA-q342-9w2p-57fp/GHSA-q342-9w2p-57fp.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V4","score":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:L/VA:N/SC:N/SI:N/SA:N"}]}