{"id":"GHSA-p84r-h6rx-f2xr","revision":"a43a9d0ad66247049ac6f7fed09b27b0","records":[{"revision":"a43a9d0ad66247049ac6f7fed09b27b0","observedAt":"2026-10-24T13:17:17.793+00:00","statement":{"source":"osv","id":"GHSA-p84r-h6rx-f2xr","aliases":["BIT-parse-2026-50008","CVE-2026-50008"],"title":"parse-server: Server option routeAllowList is bypassable through batch sub-requests","description":"### Impact\n\nThe `routeAllowList` server option restricts external client access to a configured list of REST API routes. The check is only enforced as Express middleware against the outer HTTP request URL, so the `/batch` handler dispatches each sub-request to the internal router without re-running the allow-list check. An external caller whose outer route matches `batch` can issue batch sub-requests to any REST API route that the operator omitted from the allow-list.\n\nAuthentication, ACL, CLP, and other inner-route authorization controls still apply — only the operator-configured route firewall is bypassed.\n\n### Patches\n\n`routeAllowList` is now re-enforced for each batch sub-request inside the batch handler before dispatch, mirroring the existing per-sub-request rate-limit enforcement pattern. The path-normalization and regex-match logic was extracted into a shared helper used by both the outer middleware and the batch handler. Master and maintenance keys bypass the per-sub-request check on the same terms as the outer middleware.\n\n### Workarounds\n\nOperators who use `routeAllowList` and have allowlisted `batch` can mitigate without upgrading by explicitly including every inner route they intend to allow via batch in the allow-list (for example, `routeAllowList: ['batch', 'classes/Public.*', 'functions/allowedFunction']`). This approach makes those inner routes reachable as direct REST requests as well, so it is broader than the post-patch behavior, but it eliminates the bypass.\n\nOperators who do not configure `routeAllowList` are not affected. Parse Server v8 LTS is not affected because `routeAllowList` was introduced in v9.8.0.","state":0,"publishedAt":"2026-06-19T19:34:41+00:00","modifiedAt":"2026-06-19T19:56:23.3109696+00:00","affected":[{"ecosystem":"npm","name":"parse-server","ranges":[{"type":"SEMVER","events":[{"kind":"introduced","version":"9.8.0"},{"kind":"fixed","version":"9.9.1-alpha.3"}]}],"versions":[],"rawVersionEvidence":null}],"metrics":[{"system":"CVSS_V4","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N","score":null,"severity":null},{"system":"Publisher rating","vector":null,"score":null,"severity":"MODERATE"}],"references":["https://github.com/parse-community/parse-server/security/advisories/GHSA-p84r-h6rx-f2xr","https://nvd.nist.gov/vuln/detail/CVE-2026-50008","https://github.com/parse-community/parse-server/pull/10482","https://github.com/parse-community/parse-server"],"sourceUrl":"https://github.com/advisories/GHSA-p84r-h6rx-f2xr","license":"GitHub Advisory Database · CC-BY-4.0","key":"osv:GHSA-p84r-h6rx-f2xr","identifiers":["GHSA-p84r-h6rx-f2xr","BIT-parse-2026-50008","CVE-2026-50008"]},"retained":false,"historicalAffected":[]}],"coverage":[]}