Skip to main content

Ghost CMS CVE-2026-53948

| EUVDEUVD-2026-39021 MEDIUM
Unrestricted Upload of File with Dangerous Type (CWE-434)
2026-06-24 GitHub_M GHSA-944x-pm95-3jpr
5.4
CVSS 3.1 · Vendor: GitHub_M
Share

Severity by source

Vendor (GitHub_M) PRIMARY
5.4 MEDIUM
AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
vuln.today AI
5.4 MEDIUM

Admin API authentication required (PR:L); S3/GCS same-origin serving is deployment-specific but not complexity-raising for an authenticated attacker; XSS crosses browser origin boundary (S:C, UI:R); no availability impact applies.

3.1 AV:N/AC:L/PR:L/UI:R/S:C/C:L/I:L/A:N
4.0 AV:N/AC:L/AT:P/PR:L/UI:P/VC:L/VI:L/VA:N/SC:L/SI:L/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
Required
Scope
Changed
Confidentiality
Low
Integrity
Low
Availability
None

Lifecycle Timeline

2
Patch available
Jun 24, 2026 - 20:03 EUVD
Analysis Generated
Jun 24, 2026 - 19:20 vuln.today

DescriptionCVE.org

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.

AnalysisAI

Stored cross-site scripting in Ghost CMS (versions 6.19.4 through 6.21.0) is enabled by the Admin API file upload endpoint accepting and preserving attacker-supplied Content-Type headers without server-side validation. When Ghost is configured with S3 or GCS storage backends that serve uploaded files from the same origin as the site, an authenticated attacker can upload a file with a crafted Content-Type (e.g., text/html) that causes browsers to execute it as HTML or JavaScript, enabling stored XSS against visitors and staff. No public exploit code has been identified at time of analysis, and the vulnerability is fixed in Ghost 6.21.1.

Technical ContextAI

Ghost is a Node.js-based content management system (CPE: cpe:2.3:a:tryghost:ghost:*:*:*:*:*:*:*:*) commonly used for blogging and publishing workflows. The vulnerability manifests at the Admin API's multipart file upload endpoint, which fails to enforce server-side Content-Type sanitization or override - a textbook instance of CWE-434 (Unrestricted Upload of File with Dangerous Type). Object storage backends such as Amazon S3 and Google Cloud Storage faithfully preserve the MIME type metadata provided at upload time, meaning files are later served over HTTP with the attacker-chosen type. When the storage origin matches the Ghost site origin, browsers honor the content type and render or execute uploaded content accordingly, bypassing the Same-Origin Policy protections that would otherwise contain a cross-origin stored XSS.

RemediationAI

Upgrade Ghost to version 6.21.1, which introduces server-side enforcement of acceptable Content-Type values on the Admin API upload endpoint. The vendor advisory is available at https://github.com/TryGhost/Ghost/security/advisories/GHSA-944x-pm95-3jpr. For operators unable to upgrade immediately, the most effective compensating control is to configure the storage backend to serve uploaded files from a separate subdomain or CDN origin distinct from the Ghost site origin - this eliminates the XSS vector by enforcing cross-origin isolation, though it may require URL migration for existing media assets. An alternative is to tightly restrict Admin API access to fully trusted accounts only and audit existing uploaded files for unexpected content types, but this does not eliminate the vulnerability and carries the trade-off of operational friction. Blocking file uploads entirely via Web Application Firewall rules is a last-resort measure that would prevent the attack vector but break legitimate media publishing workflows.

CVE-2024-41713 CRITICAL POC
9.1 Oct 21

A vulnerability in the NuPoint Unified Messaging (NPM) component of Mitel MiCollab through 9.8 SP1 FP2 (9.8.1.201) could

CVE-2024-55591 CRITICAL POC
9.8 Jan 14

FortiOS and FortiProxy contain an authentication bypass via the Node.js websocket module allowing unauthenticated remote

CVE-2023-44487 HIGH POC
7.5 Oct 10

Denial of service against HTTP/2 server implementations allows remote unauthenticated attackers to exhaust server resour

CVE-2014-7205 CRITICAL POC
10.0 Oct 08

Eval injection vulnerability in the internals.batch function in lib/batch.js in the bassmaster plugin before 1.5.2 for t

CVE-2025-59528 CRITICAL POC
10.0 Sep 22

Flowise version 3.0.5 contains a remote code execution vulnerability in the CustomMCP node. The mcpServerConfig paramete

CVE-2017-14849 HIGH POC
7.5 Sep 28

Node.js 8.5.0 before 8.6.0 allows remote attackers to access unintended files, because a change to ".." handling was inc

CVE-2017-5941 CRITICAL POC
9.8 Feb 09

An issue was discovered in the node-serialize package 0.0.4 for Node.js. Rated critical severity (CVSS 9.8), this vulner

CVE-2014-0224 HIGH POC
7.4 Jun 05

OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h does not properly restrict processing of ChangeCiph

CVE-2014-3744 HIGH POC
7.5 Oct 23

Directory traversal vulnerability in the st module before 0.2.5 for Node.js allows remote attackers to read arbitrary fi

CVE-2014-9566 HIGH POC
7.5 Mar 10

Multiple SQL injection vulnerabilities in the Manage Accounts page in the AccountManagement.asmx service in the Solarwin

CVE-2013-4660 MEDIUM POC
6.8 Jun 28

The JS-YAML module before 2.0.5 for Node.js parses input without properly considering the unsafe !!js/function tag, whic

CVE-2016-2107 MEDIUM POC
5.9 May 05

The AES-NI implementation in OpenSSL before 1.0.1t and 1.0.2 before 1.0.2h does not consider memory allocation during a

Share

CVE-2026-53948 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy