CVE-2026-53948 Ghost: File Upload Content-Type Spoofing
Attackers can upload files with spoofed Content-Types to trigger stored XSS on Ghost CMS installations using S3/GCS backends.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Over the internet
- Victim action needed
- A user has to click or open something
- Fix
- Available
What is CVE-2026-53948?
CVE-2026-53948 is a medium-severity vulnerability in TryGhost Ghost, published on 24 Jun 2026. Any signed-in user can exploit it over the network, and only if a user opens a file or follows a link.
Official description
Ghost is a Node.js content management system. From 6.19.4 until 6.21.1, insufficient validation of the client-supplied Content-Type on Ghost's Admin API file upload endpoint allowed uploaded files to be served from the site with an attacker-chosen content type on S3/GCS storage backends. On installations that serve uploaded files from the same origin as the site, this could have been used to facilitate stored cross-site scripting against site visitors or staff. This vulnerability is fixed in 6.21.1.
Weakness: CWE-434
Which versions are affected by CVE-2026-53948?
3 open source packages ship an affected version, including ghost.
| Package | Affected | Fixed in |
|---|---|---|
ghost Bitnami | From 6.19.4 | 6.21.1 |
ghost npm | From 6.19.4 | 6.21.1 |
ghost npm | From 6.19.4 | 6.21.1 |
How do I fix CVE-2026-53948?
Upgrade ghost to 6.21.1 or later.
Is CVE-2026-53948 being exploited?
There is no known exploitation of CVE-2026-53948 in the wild and no public exploit code.
Sources
Also known as BIT-ghost-2026-53948, GHSA-944x-pm95-3jpr.