CVE-2026-53948 Ghost: File Upload Content-Type Spoofing

Medium 5.4 Published Updated

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.

PackageAffectedFixed in
ghost BitnamiFrom 6.19.46.21.1
ghost npmFrom 6.19.46.21.1
ghost npmFrom 6.19.46.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.

Is CVE-2026-53948 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free