{"id":"GHSA-hpm8-9qx6-jvwv","summary":"Parser Server's streaming file download bypasses afterFind file trigger authorization","details":"### Impact\n\nFile downloads via HTTP Range requests bypass the `afterFind(Parse.File)` trigger and its validators on storage adapters that support streaming (e.g. the default GridFS adapter). This allows access to files that should be protected by `afterFind` trigger authorization logic or built-in validators such as `requireUser`.\n\n### Patches\n\nThe streaming file download path now executes the `afterFind(Parse.File)` trigger before sending any data. Authentication is resolved from the session token header so that trigger validators can distinguish authenticated from unauthenticated requests.\n\n### Workarounds\n\nUse `beforeFind(Parse.File)` instead of `afterFind(Parse.File)` for file access authorization. The `beforeFind` trigger runs on all download paths including streaming.","aliases":["BIT-parse-2026-34784","CVE-2026-34784"],"modified":"2026-04-06T15:27:18.137809623Z","published":"2026-04-01T23:09:14Z","database_specific":{"github_reviewed_at":"2026-04-01T23:09:14Z","nvd_published_at":"2026-03-31T20:16:29Z","cwe_ids":["CWE-285"],"severity":"HIGH","github_reviewed":true},"references":[{"type":"WEB","url":"https://github.com/parse-community/parse-server/security/advisories/GHSA-hpm8-9qx6-jvwv"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-34784"},{"type":"WEB","url":"https://github.com/parse-community/parse-server/pull/10361"},{"type":"WEB","url":"https://github.com/parse-community/parse-server/pull/10362"},{"type":"WEB","url":"https://github.com/parse-community/parse-server/commit/053109b3ee71815bc39ed84116c108ff9edbf337"},{"type":"WEB","url":"https://github.com/parse-community/parse-server/commit/a0b0c69fc44f87f80d793d257344e7dcbf676e22"},{"type":"PACKAGE","url":"https://github.com/parse-community/parse-server"}],"affected":[{"package":{"name":"parse-server","ecosystem":"npm","purl":"pkg:npm/parse-server"},"ranges":[{"type":"SEMVER","events":[{"introduced":"9.0.0"},{"fixed":"9.7.1-alpha.1"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/04/GHSA-hpm8-9qx6-jvwv/GHSA-hpm8-9qx6-jvwv.json"}},{"package":{"name":"parse-server","ecosystem":"npm","purl":"pkg:npm/parse-server"},"ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"8.6.71"}]}],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2026/04/GHSA-hpm8-9qx6-jvwv/GHSA-hpm8-9qx6-jvwv.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V4","score":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N"}]}