GHSA-vr5f-2r24-w5hc
Parse Server: File upload Content-Type override via extension mismatch
Packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| npm | parse-server | >= 9.0.0, < 9.7.1-alpha.4 | 9.7.1-alpha.4 |
| npm | parse-server | < 8.6.73 | 8.6.73 |
Details
As written in the advisory (Markdown source, shown as plain text).
### 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.
References
External links from the advisory. They lead to third-party sites.
- https://github.com/parse-community/parse-server/security/advisories/GHSA-vr5f-2r24-w5hc
- https://nvd.nist.gov/vuln/detail/CVE-2026-35200
- https://github.com/parse-community/parse-server/pull/10383
- https://github.com/parse-community/parse-server/pull/10384
- https://github.com/parse-community/parse-server