Parse Server: Stored XSS via trailing-dot filename bypassing file upload extension blocklist
Key facts
- Attack vector
- Network
- Privileges required
- Low
- User interaction
- Passive
- Attack complexity
- Low
- Attack requirements
- Present
- Impact type
- Code execution, Cross-site scripting
- Confidentiality · integrity · availability
- None · Low · None
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA and GitHub. Impact type from CWE-434 and CWE-79.
Summary
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| parse-community | parse-server | before 8.6.79; 9.0.0 to before 9.9.1-alpha.4 | 8.6.79, 9.9.1-alpha.4 | Patch available | CNA |
| — | parse-server (npm) | 9.0.0 to before 9.9.1-alpha.4 | 9.9.1-alpha.4 | Patch available | GHSA-7wqv-xjf3-x35v |
| — | parse-server (npm) | before 8.6.79 | 8.6.79 | Patch available | GHSA-7wqv-xjf3-x35v |
- parse-server Vendorparse-community Affected before 8.6.79; 9.0.0 to before 9.9.1-alpha.4 Fixed in 8.6.79, 9.9.1-alpha.4 Patch available CNA
- parse-server (npm) Vendor— Affected 9.0.0 to before 9.9.1-alpha.4 Fixed in 9.9.1-alpha.4 Patch available GHSA-7wqv-xjf3-x35v
- parse-server (npm) Vendor— Affected before 8.6.79 Fixed in 8.6.79 Patch available GHSA-7wqv-xjf3-x35v
CPE names Threatist (inferred) · 1
Inferred from how NVD named this product before; not given by a source.
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:parseplatform:parse-server:*:*:*:*:*:*:*:* | — | — | parse-community |
- cpe:2.3:a:parseplatform:parse-server:*:*:*:*:*:*:*:* Versions — — ·parse-community
Remediation
- Fix · CNA parse-server (parse-community) Fixed in 8.6.79, 9.9.1-alpha.4
- Fix · GHSA-7wqv-xjf3-x35v parse-server (npm) Fixed in 9.9.1-alpha.4 Advisory →
- Fix · GHSA-7wqv-xjf3-x35v parse-server (npm) Fixed in 8.6.79 Advisory →
Timeline
- 2026-10-02 Threatist record created from CVE-2026-53724
- 2026-10-03 Alias added: GHSA-7wqv-xjf3-x35v
References
More parse-community vulnerabilities
- TI-2022-08574 Command Injection in Parse server CVSS 3.1CRITICAL 10.0
- TI-2024-18136 Parse Server literalizeRegexPart SQL Injection CVSS 3.1CRITICAL 10.0
- TI-2022-18768 Parse Server vulnerable to Remote Code Execution via prototype pollution in MongoDB BSON parser CVSS 3.1CRITICAL 9.8
- TI-2024-31550 Parse Server's custom object ID allows to acquire role privileges CVSS 3.1HIGH 8.1
- TI-2025-35510 parse is a package designed to parse JavaScript SDK. CVSS 3.1MEDIUM 6.5
- TI-2024-26265 ZDI-CAN-23894: Parse Server literalizeRegexPart SQL Injection Authentication Bypass Vulnerability CVSS 3.1CRITICAL 9.8
Sources
- CVE-2026-53724 · CVE Program
- CVE-2026-53724 · NVD
- FIRST EPSS
- GHSA-7wqv-xjf3-x35v · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences