{"id":"BIT-parse-2026-61448","revision":null,"records":[{"revision":"9726776469a0474d8ee2ce15da3c84f0","observedAt":"2026-10-23T15:48:27.903+00:00","statement":{"source":"cve-program","id":"CVE-2026-61448","aliases":[],"title":"Parse Server 9.0.0 Stored XSS via malformed Content-Type","description":"Parse Server is affected by a stored cross-site scripting (XSS) vulnerability in versions >= 9.0.0, < 9.10.0-alpha.2 and <= 8.6.83. When an uploaded file's extension is not recognized by the mime package, Parse Server preserves the client-supplied Content-Type. A malformed Content-Type that is not a valid type/subtype media type (e.g., 'image', 'image/', or 'image//svg+xml') bypasses the fileUpload.fileExtensions blocklist and is stored unchanged. On storage adapters that persist and serve the uploaded Content-Type (such as Amazon S3, Google Cloud Storage, or Azure Blob Storage), a browser cannot parse the malformed value and falls back to MIME-sniffing; a file whose body begins with HTML is rendered as HTML, executing embedded script in the application's origin against other users who open the file URL. The default GridFS storage adapter is not affected. Fixed in 9.10.0-alpha.2 and 8.6.84.","state":0,"publishedAt":"2026-07-11T13:01:05.852+00:00","modifiedAt":"2026-07-14T22:03:36.889+00:00","affected":[{"ecosystem":"Vendor product","name":"parse-server","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"vendor\": \"parse-community\",\n                    \"product\": \"parse-server\",\n                    \"defaultStatus\": \"unaffected\",\n                    \"packageURL\": \"pkg:npm/parse-server\",\n                    \"versions\": [\n                        {\n                            \"version\": \"9.0.0\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"semver\",\n                            \"lessThan\": \"9.10.0-alpha.2\"\n                        },\n                        {\n                            \"version\": \"9.10.0-alpha.2\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        }\n                    ]\n                }"},{"ecosystem":"Vendor product","name":"parse-server","ranges":[],"versions":[],"rawVersionEvidence":"{\n                    \"vendor\": \"parse-community\",\n                    \"product\": \"parse-server\",\n                    \"defaultStatus\": \"unaffected\",\n                    \"packageURL\": \"pkg:npm/parse-server\",\n                    \"versions\": [\n                        {\n                            \"version\": \"0\",\n                            \"status\": \"affected\",\n                            \"versionType\": \"semver\",\n                            \"lessThan\": \"8.6.84\"\n                        },\n                        {\n                            \"version\": \"8.6.84\",\n                            \"status\": \"unaffected\",\n                            \"versionType\": \"semver\"\n                        }\n                    ]\n                }"}],"metrics":[{"system":"CVSS 4.0","vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:P/VC:N/VI:L/VA:N/SC:L/SI:L/SA:N","score":2.1,"severity":"LOW"}],"references":["https://github.com/parse-community/parse-server/security/advisories/GHSA-r899-h629-j84r","https://www.vulncheck.com/advisories/parse-server-stored-xss-via-malformed-content-type"],"sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-61448","license":"CVE Program Terms of Use","key":"cve-program:CVE-2026-61448","identifiers":["CVE-2026-61448"]},"retained":false,"historicalAffected":[]},{"revision":"89521ad2d59a4334a15897ff0c967592","observedAt":"2026-11-06T19:05:52.939+00:00","statement":{"source":"euvd","id":"EUVD-2026-43183","aliases":["CVE-2026-61448","GHSA-p6c5-mjgj-m4rm","GHSA-r899-h629-j84r"],"title":"Parse Server is affected by a stored cross-site scripting (XSS) vulnerability in versions >= 9.0.0, < 9.10.0-alpha.2 and <= 8.6.83. When an uploaded file's extension is not recognized by the mime package, Parse Server preserves the client-s…","description":"Parse Server is affected by a stored cross-site scripting (XSS) vulnerability in versions >= 9.0.0, < 9.10.0-alpha.2 and <= 8.6.83. When an uploaded file's extension is not recognized by the mime package, Parse Server preserves the client-supplied Content-Type. A malformed Content-Type that is not a valid type/subtype media type (e.g., 'image', 'image/', or 'image//svg+xml') bypasses the fileUpload.fileExtensions blocklist and is stored unchanged. On storage adapters that persist and serve the uploaded Content-Type (such as Amazon S3, Google Cloud Storage, or Azure Blob Storage), a browser cannot parse the malformed value and falls back to MIME-sniffing; a file whose body begins with HTML is rendered as HTML, executing embedded script in the application's origin against other users who open the file URL. The default GridFS storage adapter is not affected. Fixed in 9.10.0-alpha.2 and 8.6.84.","state":0,"publishedAt":null,"modifiedAt":null,"affected":[],"metrics":[{"system":"EUVD CVSS 4.0","vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:P/VC:N/VI:L/VA:N/SC:L/SI:L/SA:N","score":2.1,"severity":null}],"references":["https://github.com/parse-community/parse-server/security/advisories/GHSA-r899-h629-j84r","https://www.vulncheck.com/advisories/parse-server-stored-xss-via-malformed-content-type"],"sourceUrl":"https://euvd.enisa.europa.eu/vulnerability/EUVD-2026-43183","license":"ENISA EUVD · source terms and attribution apply","enrichment":{"sourceStatus":null,"weaknesses":[],"productCriteria":[],"sourceDates":{"datePublished":"Jul 11, 2026, 1:01:05 PM","dateUpdated":"Jul 14, 2026, 10:03:36 PM"},"relatedAdvisories":[],"note":"EUVD source date text has no stated timezone and is retained without inventing a UTC instant. Related bulletin membership is not an alias, common cause or applicability claim. A missing vector with a zero score is treated as unrated. Complete vendor/product and underlying source evidence remains in the original JSON."},"key":"euvd:EUVD-2026-43183","identifiers":["EUVD-2026-43183","CVE-2026-61448","GHSA-p6c5-mjgj-m4rm","GHSA-r899-h629-j84r"]},"retained":false,"historicalAffected":[]},{"revision":"c5ce54a6a3a94858af0be35961682388","observedAt":"2026-10-29T17:17:33.157+00:00","statement":{"source":"nvd","id":"CVE-2026-61448","aliases":[],"title":"Parse Server is affected by a stored cross-site scripting (XSS) vulnerability in versions >= 9.0.0, < 9.10.0-alpha.2 and <= 8.6.83. When an uploaded file's extension is not recognized by the mime package, Parse Server preserves the client-s…","description":"Parse Server is affected by a stored cross-site scripting (XSS) vulnerability in versions >= 9.0.0, < 9.10.0-alpha.2 and <= 8.6.83. When an uploaded file's extension is not recognized by the mime package, Parse Server preserves the client-supplied Content-Type. A malformed Content-Type that is not a valid type/subtype media type (e.g., 'image', 'image/', or 'image//svg+xml') bypasses the fileUpload.fileExtensions blocklist and is stored unchanged. On storage adapters that persist and serve the uploaded Content-Type (such as Amazon S3, Google Cloud Storage, or Azure Blob Storage), a browser cannot parse the malformed value and falls back to MIME-sniffing; a file whose body begins with HTML is rendered as HTML, executing embedded script in the application's origin against other users who open the file URL. The default GridFS storage adapter is not affected. Fixed in 9.10.0-alpha.2 and 8.6.84.","state":0,"publishedAt":"2026-07-11T14:16:23.51+00:00","modifiedAt":"2026-10-24T13:10:00.147+00:00","affected":[],"metrics":[{"system":"CVSS 4.0 · disclosure@vulncheck.com · Secondary","vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:P/VC:N/VI:L/VA:N/SC:L/SI:L/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","score":2.1,"severity":"LOW"}],"references":["https://github.com/parse-community/parse-server/security/advisories/GHSA-r899-h629-j84r","https://www.vulncheck.com/advisories/parse-server-stored-xss-via-malformed-content-type"],"sourceUrl":"https://nvd.nist.gov/vuln/detail/CVE-2026-61448","license":"NIST NVD usage terms; underlying source attribution retained","enrichment":{"sourceStatus":"Deferred","weaknesses":["CWE-434"],"productCriteria":[],"sourceDates":{"published":"2026-07-11T14:16:23.510","lastModified":"2026-10-24T13:10:00.147"},"relatedAdvisories":[],"note":"NVD analysis and CPE criteria are source context, not proof that a package or your environment is affected. Complete affected data, logical configurations and SSVC are retained in the original JSON."},"key":"nvd:CVE-2026-61448","identifiers":["CVE-2026-61448"]},"retained":false,"historicalAffected":[]},{"revision":"8adc14fdbe414ceda857f38c25f2c58f","observedAt":"2026-10-29T17:12:42.182+00:00","statement":{"source":"osv","id":"GHSA-p6c5-mjgj-m4rm","aliases":[],"title":"Duplicate Advisory: Parse Server vulnerable to stored XSS via malformed Content-Type bypassing file upload extension blocklist","description":"### Duplicate Advisory\nThis advisory has been withdrawn because it is a duplicate of GHSA-r899-h629-j84r. This link is maintained to preserve external references.\n\n### Original Description\nParse Server is affected by a stored cross-site scripting (XSS) vulnerability in versions >= 9.0.0, < 9.10.0-alpha.2 and <= 8.6.83. When an uploaded file's extension is not recognized by the mime package, Parse Server preserves the client-supplied Content-Type. A malformed Content-Type that is not a valid type/subtype media type (e.g., 'image', 'image/', or 'image//svg+xml') bypasses the fileUpload.fileExtensions blocklist and is stored unchanged. On storage adapters that persist and serve the uploaded Content-Type (such as Amazon S3, Google Cloud Storage, or Azure Blob Storage), a browser cannot parse the malformed value and falls back to MIME-sniffing; a file whose body begins with HTML is rendered as HTML, executing embedded script in the application's origin against other users who open the file URL. The default GridFS storage adapter is not affected. Fixed in 9.10.0-alpha.2 and 8.6.84.","state":2,"publishedAt":"2026-07-11T15:30:23+00:00","modifiedAt":"2026-10-29T16:45:04.3533092+00:00","affected":[{"ecosystem":"npm","name":"parse-server","ranges":[{"type":"SEMVER","events":[{"kind":"introduced","version":"9.0.0"}]}],"versions":[],"rawVersionEvidence":null},{"ecosystem":"npm","name":"parse-server","ranges":[{"type":"SEMVER","events":[{"kind":"introduced","version":"0"},{"kind":"last_affected","version":"8.6.83"}]}],"versions":[],"rawVersionEvidence":null}],"metrics":[{"system":"CVSS_V4","vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:P/VC:N/VI:L/VA:N/SC:L/SI:L/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X","score":null,"severity":null},{"system":"Publisher rating","vector":null,"score":null,"severity":"LOW"}],"references":["https://github.com/parse-community/parse-server/security/advisories/GHSA-r899-h629-j84r","https://nvd.nist.gov/vuln/detail/CVE-2026-61448","https://www.vulncheck.com/advisories/parse-server-stored-xss-via-malformed-content-type"],"sourceUrl":"https://github.com/advisories/GHSA-p6c5-mjgj-m4rm","license":"GitHub Advisory Database · CC-BY-4.0","key":"osv:GHSA-p6c5-mjgj-m4rm","identifiers":["GHSA-p6c5-mjgj-m4rm"]},"retained":false,"historicalAffected":[]},{"revision":"d2d2eb7ecb8b44b9bd939065d0ec5d61","observedAt":"2026-10-29T17:12:42.182+00:00","statement":{"source":"osv","id":"GHSA-r899-h629-j84r","aliases":["BIT-parse-2026-61448","CVE-2026-61448"],"title":"Parse Server vulnerable to stored XSS via malformed Content-Type bypassing file upload extension blocklist","description":"### Impact\n\nParse Server's file upload validation uses the `fileUpload.fileExtensions` option (enabled by default with a blocklist) to reject files that browsers may render as active content, mitigating stored cross-site scripting (XSS). When an uploaded file's extension is not recognized by the `mime` package, Parse Server preserves the client-supplied `Content-Type` and passes it to the storage adapter. A malformed `Content-Type` that is not a valid `type/subtype` media type — for example `image` (no subtype), `image/` (empty subtype), or `image//svg+xml` (invalid token) — bypassed the blocklist and was stored unchanged. On storage adapters that persist and serve the uploaded `Content-Type` (such as Amazon S3, Google Cloud Storage, or Azure Blob Storage), a browser cannot parse the malformed `Content-Type` and falls back to MIME-sniffing the file content; a file whose body begins with HTML markup is then rendered as HTML, executing any embedded script in the application's origin. This allows a user permitted to upload files to store content that executes as script against other users who open the file URL. The default GridFS storage adapter is not affected, as it recomputes the `Content-Type` from the filename and serves files with `X-Content-Type-Options: nosniff`.\n\n### Patches\n\nThe file upload handler now validates that the client-supplied `Content-Type` is a well-formed media type (`type/subtype` with non-empty tokens per RFC 9110 §5.6.2) whenever the filename extension is not recognized by `mime`. Malformed values are rejected instead of being stored, while well-formed types — including custom or vendor types that the `mime` package does not recognize — continue to be accepted; only blocklisted subtypes are rejected.\n\n### Workarounds\n\nConfigure `fileUpload.fileExtensions` as a strict allowlist of only the extensions the application needs (for example `[\"^(png|jpe?g|gif|pdf)$\"]`). Additionally, serve uploaded files from a domain separate from the application so that any rendered content is isolated from the application's origin, and configure the storage/CDN layer to send `X-Content-Type-Options: nosniff`.\n\n### References\n\n- GitHub security advisory: https://github.com/parse-community/parse-server/security/advisories/GHSA-r899-h629-j84r\n- Fix Parse Server 9: https://github.com/parse-community/parse-server/pull/10521\n- Fix Parse Server 8: https://github.com/parse-community/parse-server/pull/10523","state":0,"publishedAt":"2026-10-29T16:33:48+00:00","modifiedAt":"2026-10-29T16:45:04.3584176+00:00","affected":[{"ecosystem":"npm","name":"parse-server","ranges":[{"type":"SEMVER","events":[{"kind":"introduced","version":"9.0.0"},{"kind":"fixed","version":"9.10.0-alpha.2"}]}],"versions":[],"rawVersionEvidence":null},{"ecosystem":"npm","name":"parse-server","ranges":[{"type":"SEMVER","events":[{"kind":"introduced","version":"0"},{"kind":"fixed","version":"8.6.84"}]}],"versions":[],"rawVersionEvidence":null}],"metrics":[{"system":"CVSS_V4","vector":"CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:P/VC:N/VI:L/VA:N/SC:L/SI:L/SA:N","score":null,"severity":null},{"system":"Publisher rating","vector":null,"score":null,"severity":"LOW"}],"references":["https://github.com/parse-community/parse-server/security/advisories/GHSA-r899-h629-j84r","https://nvd.nist.gov/vuln/detail/CVE-2026-61448","https://github.com/parse-community/parse-server","https://www.vulncheck.com/advisories/parse-server-stored-xss-via-malformed-content-type"],"sourceUrl":"https://github.com/advisories/GHSA-r899-h629-j84r","license":"GitHub Advisory Database · CC-BY-4.0","key":"osv:GHSA-r899-h629-j84r","identifiers":["GHSA-r899-h629-j84r","BIT-parse-2026-61448","CVE-2026-61448"]},"retained":false,"historicalAffected":[]}],"coverage":[{"source":"cisa-kev:global","scope":"Complete CISA KEV catalog; all vendors. Missing entries do not establish absence of exploitation.","generation":"2026-11-07T06:27:05.6380447+00:00","complete":true,"records":1769,"lastAttemptAt":"2026-11-07T06:27:05.6380447+00:00","lastSuccessAt":"2026-11-07T06:27:05.7932457+00:00","error":null,"lastVerifiedAt":"2026-11-07T06:27:05.7932469+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"cve-program","scope":"Official CVE Program baseline and cumulative hourly delta; all vendors, published and rejected records","generation":"cve-bb5c9d5a08063ef076042e33dd72a7d0ffa4c4487efdcf3106e29ba55ec2ad57-6f544c2f3953f500ddb5b39526af1c06f4dafd806ddc7bf6476fb6444529ee07","complete":true,"records":420723,"lastAttemptAt":"2026-11-07T06:27:04.4118644+00:00","lastSuccessAt":"2026-11-07T06:27:04.3307229+00:00","error":null,"lastVerifiedAt":"2026-11-07T06:27:04.4118644+00:00","snapshotPublishedAt":"2026-11-07T05:27:23+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"euvd","scope":"Rolling EUVD lookups of CVE aliases in current public OSV archives; 500 identifiers per refresh, rechecked after 48 hours. Not a global EUVD catalog. Successful not-found lookups count as checked; they do not imply withdrawal or safety. No reader inventory is sent.","generation":"enrichment-f3bff9471edc48448e31845a67a4407b","complete":true,"records":13630,"lastAttemptAt":"2026-11-07T06:38:40.0754161+00:00","lastSuccessAt":"2026-11-07T06:38:40.073+00:00","error":null,"lastVerifiedAt":"2026-11-07T06:38:40.073+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":13685,"expectedIdentifiers":13685,"failedIdentifiers":0},{"source":"first-epss:nuget","scope":"FIRST EPSS for explicit CVE aliases in the collected public NuGet archive. Not a global EPSS backfill.","generation":"2026-11-07T06:27:05.6380447+00:00","complete":true,"records":1096,"lastAttemptAt":"2026-11-07T06:27:05.6380447+00:00","lastSuccessAt":"2026-11-07T06:27:05.7940505+00:00","error":null,"lastVerifiedAt":"2026-11-07T06:27:05.7940508+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"nvd","scope":"Rolling NVD lookups of CVE aliases in current public OSV archives; 500 identifiers per refresh, rechecked after 48 hours. Not a global NVD catalog. Successful not-found lookups count as checked; they do not imply withdrawal or safety. No reader inventory is sent.","generation":"enrichment-1262a9fa83024e28a1560dfc0c9cdf3c","complete":true,"records":13645,"lastAttemptAt":"2026-11-07T06:27:08.5367847+00:00","lastSuccessAt":"2026-11-07T06:27:08.533+00:00","error":null,"lastVerifiedAt":"2026-11-07T06:27:08.533+00:00","snapshotPublishedAt":null,"importing":false,"stagedRecords":0,"checkedIdentifiers":13685,"expectedIdentifiers":13685,"failedIdentifiers":0},{"source":"osv:Go","scope":"Complete OSV Go ecosystem archive, including withdrawn and malicious-package source records; statement counts are not unique CVE counts","generation":"go-0eb4d6dde62dffacd040ad992d4fd5a65cd7d0dc5f5f4cfa8b41967fc6f9ca5f","complete":true,"records":9914,"lastAttemptAt":"2026-11-07T06:27:05.1996809+00:00","lastSuccessAt":"2026-11-06T20:10:36.6450506+00:00","error":null,"lastVerifiedAt":"2026-11-07T06:27:05.1996809+00:00","snapshotPublishedAt":"2026-11-06T20:02:57+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"osv:NuGet","scope":"Complete OSV NuGet ecosystem archive, including GitHub Advisory Database records; NuGet version matching only","generation":"nuget-fde804134ecdda0ddd5ff5c26ee1fff5a6fa659311f7ef2e51c6ad54964db0e2","complete":true,"records":1971,"lastAttemptAt":"2026-11-07T06:27:04.6304807+00:00","lastSuccessAt":"2026-11-06T19:03:17.0399903+00:00","error":null,"lastVerifiedAt":"2026-11-07T06:27:04.6304807+00:00","snapshotPublishedAt":"2026-11-06T18:17:57+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"osv:crates.io","scope":"Complete OSV crates.io ecosystem archive, including withdrawn and malicious-package source records; statement counts are not unique CVE counts","generation":"crates.io-335633e78a15c9cde10a6025895b5617717087fb945489ae7e15d377bacf34a9","complete":true,"records":3055,"lastAttemptAt":"2026-11-07T06:27:05.5809672+00:00","lastSuccessAt":"2026-11-06T16:03:00.7615789+00:00","error":null,"lastVerifiedAt":"2026-11-07T06:27:05.5809672+00:00","snapshotPublishedAt":"2026-11-06T16:02:48+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null},{"source":"osv:npm","scope":"Complete OSV npm ecosystem archive, including withdrawn and malicious-package source records; statement counts are not unique CVE counts","generation":"npm-a0b728bc1c5526b5429930c00621636eba8655069c176697c3080f8377619ad7","complete":true,"records":231291,"lastAttemptAt":"2026-11-07T06:27:05.0945652+00:00","lastSuccessAt":"2026-11-07T00:28:51.1983528+00:00","error":null,"lastVerifiedAt":"2026-11-07T06:27:05.0945652+00:00","snapshotPublishedAt":"2026-11-06T23:33:08+00:00","importing":false,"stagedRecords":0,"checkedIdentifiers":null,"expectedIdentifiers":null,"failedIdentifiers":null}]}