Parse Server vulnerable to stored XSS via file upload of HTML-renderable file types
Date: 2026-03
Affected: npm/parse-server, npm/parse-server
Attack vector: xss
Category: vulnerability-disclosure
Severity: Medium
CVE: CVE-2026-31868
CWE: CWE-79

### Impact An attacker can upload a file with a file extension or content type that is not blocked by the default configuration of the Parse Server `fileUpload.fileExtensions` option. The file can contain malicious code, for example JavaScript in an SVG or XHTML file. When the file is accessed via its URL, the browser renders the file and executes the malicious code in the context of the Parse Server domain. This is a stored Cross-Site Scripting (XSS) vulnerability that can be exploited to steal session tokens, redirect users, or perform actions on behalf of other users. Affected file extensions and content types include `.svgz`, `.xht`, `.xml`, `.xsl`, `.xslt`, and content types `application/xhtml+xml` and `application/xslt+xml` for extensionless uploads. Uploading of `.html`, `.htm`, `.shtml`, `.xhtml`, and `.svg` files was already blocked. ### Patches The fix adds the missing file extensions and content types to the default value of the `fileUpload.fileExtensions` server option. ### Workarounds Configure the `fileUpload.fileExtensions` server option to block the affected file extensions and content types. ### References - GitHub security advisory: https://github.com/parse-community/parse-server/security/advisories/GHSA-v5hf-f4c3-m5rv - Fix Parse Server 9: https://github.com/parse-community/parse-server/releases/tag/9.6.0-alpha.4 - Fix Parse Server 8: https://github.com/parse-community/parse-server/releases/tag/8.6.30


Mitigations:

Architectural layers (MAESTRO):