CVE-2026-35200: Parse Server has a file upload Content-Type override via extension mismatch
Impact
A file can be uploaded with a filename extension that passes the file extension allowlist (e.g., .txt) but with a Content-Type header that differs from the extension (e.g., text/html). The Content-Type is passed to the storage adapter without consistency validation. Storage adapters that store and serve the provided Content-Type (such as S3 or GCS) serve the file with the mismatched Content-Type. The default GridFS adapter is not affected because it derives Content-Type from the filename at serving time.
Patches
The file upload now derives the Content-Type from the filename extension, overriding any user-provided Content-Type when the file has an extension.
Workarounds
Configure the storage adapter or CDN to derive Content-Type from the filename extension instead of using the stored Content-Type.
Other sources
Parse Server is an open source backend that can be deployed to any infrastructure that can run Node.js. Prior to 8.6.73 and 9.7.1-alpha.4, a file can be uploaded with a filename extension that passes the file extension allowlist (e.g., .txt) but with a Content-Type header that differs from the extension (e.g., text/html). The Content-Type is passed to the storage adapter without consistency validation. Storage adapters that store and serve the provided Content-Type (such as S3 or GCS) serve the file with the mismatched Content-Type. The default GridFS adapter is not affected because it derives Content-Type from the filename at serving time. This vulnerability is fixed in 8.6.73 and 9.7.1-alpha.4.
— MITRE
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
npm/parse-serverto a version that resolves this vulnerability.Fixed in 8.6.73 - Upgrade
Upgrade
npm/parse-serverto a version that resolves this vulnerability.Fixed in 9.7.1-alpha.4 - Upgrade
Upgrade
Parse Serverto a version that resolves this vulnerability.Fixed in 8.6.73 - Upgrade
Upgrade
Parse Serverto a version that resolves this vulnerability.Fixed in 9.7.1-alpha.4 - Configuration
Configure the storage adapter or CDN to derive the response Content-Type from the uploaded filename extension rather than using the stored/provided Content-Type (prevents extension-allowlist bypass via Content-Type mismatch).
Storage adapter or CDN Content-Type derivation behavior = Derive Content-Type from the filename extension instead of using the stored/provided Content-Type