CVE-2026-31868: Parse Server has Stored XSS via file upload of HTML-renderable file types
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
Other sources
Parse Server is an open source backend that can be deployed to any infrastructure that can run Node.js. Prior to 9.6.0-alpha.4 and 8.6.30, 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. This vulnerability is fixed in 9.6.0-alpha.4 and 8.6.30.
— MITRE
Affected Software
Remediation
Event History
Frequently Asked Questions
What is the severity of CVE-2026-31868?
CVE-2026-31868 is classified as a high severity vulnerability due to the potential for an attacker to upload malicious files.
How do I fix CVE-2026-31868?
To fix CVE-2026-31868, update your Parse Server to version 8.6.30 or later, or to version 9.6.0-alpha.4 or later.
What types of files are affected by CVE-2026-31868?
CVE-2026-31868 affects files with extensions or content types that are not restricted by the default Parse Server configuration.
What can an attacker do with CVE-2026-31868?
An attacker can upload files containing malicious code, leading to potential execution of harmful scripts when accessed.
Which Parse Server versions are vulnerable to CVE-2026-31868?
Versions of Parse Server prior to 8.6.30 and between 9.0.0-alpha.1 and 9.6.0-alpha.4 are vulnerable to CVE-2026-31868.