GHSA-vr5f-2r24-w5hc
Parse Server: File upload Content-Type override via extension mismatch
Details
### 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.
Are you affected?
Enter the version of the package you're using.
Affected packages
9.0.0 Fixed in: 9.7.1-alpha.4 npm install parse-server@9.7.1-alpha.4 References
- https://github.com/parse-community/parse-server/security/advisories/GHSA-vr5f-2r24-w5hc [WEB]
- https://nvd.nist.gov/vuln/detail/CVE-2026-35200 [ADVISORY]
- https://github.com/parse-community/parse-server/pull/10383 [WEB]
- https://github.com/parse-community/parse-server/pull/10384 [WEB]
- https://github.com/parse-community/parse-server [PACKAGE]