CVE intelligence and bounded remediation
CVE-2026-53948 — Ghost is a Node.js content management system
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.
- Severity
- Medium
- CVSS
- 5.4 (3.1)
- Published
- 2026-06-24
- CISA KEV
- Not currently listed
- Ecosystem
- javascript/npm
- Weaknesses
- CWE-434
Affected products
No browser-safe affected-product rows are available.
Matched remediation archetype
Path traversal, unsafe upload, and file handling
This catalog composition supplies bounded fallback guidance. Explicitly reviewed curated workflows load with the complete record below.
Check exposure
- Trace untrusted filenames, archive entries, URLs, and path segments into read, write, include, extraction, and upload operations.
- Identify filesystem roots, mount permissions, symbolic-link behavior, archive handling, and whether uploaded content is web-accessible or executable.
- Review canonicalization and containment checks across supported operating systems and storage backends.
Remediate safely
- Generate server-side storage identifiers and resolve paths beneath a fixed root using filesystem-aware containment checks.
- Reject absolute, parent-relative, alternate-separator, device, link, and archive entries that escape the intended root.
- Store uploads outside executable or served paths, validate type and size, and use private atomic temporary files.
Authoritative sources
Complete CVE record and remediation plan
The detailed catalog view below loads this exact record, its source evidence, and the full seven-phase agentic change plan.