Skip to content
OpenAdvisories
Low · 2.1 CVE-2026-53724 BIT-parse-2026-53724EUVD-2026-36539GHSA-7wqv-xjf3-x35v

Parse Server: Stored XSS via trailing-dot filename bypassing file upload extension blocklist

Published Jun 12, 2026 · Updated Jun 12, 2026 · Assigned by GitHub_M

Description

Parse Server is an open source backend that can be deployed to any infrastructure that can run Node.js. Prior to versions 8.6.79 and 9.9.1-alpha.4, the default file upload extension blocklist can be bypassed by appending a trailing dot to a filename whose extension would otherwise be blocked (e.g. poc.svg.). The trailing dot causes the extension parser to extract an empty string, which short-circuits the blocklist check, and the attacker-controlled Content-Type is forwarded to the storage adapter unchanged. Storage adapters that persist and serve the provided Content-Type (such as S3 or GCS) then serve the file with an active type such as image/svg+xml, enabling stored XSS when a victim opens the file URL. The default GridFS adapter is not affected because it sets X-Content-Type-Options: nosniff on responses. This issue has been patched in versions 8.6.79 and 9.9.1-alpha.4.

Affected products

VendorProductAffectedFixed
parse-community parse-server < 8.6.79, >= 9.0.0, < 9.9.1-alpha.4 —

Affected packages

EcosystemPackageAffectedFixedRecord
npm parse-server >= 9.0.0, < 9.9.1-alpha.4 9.9.1-alpha.4 GHSA-7wqv-xjf3-x35v
npm parse-server < 8.6.79 8.6.79 GHSA-7wqv-xjf3-x35v

References