Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft malicious SVG with embedded script
-
DeliverySocial-engineer Administrator to import file
-
ExploitSVG stored unsanitized on site domain
-
ExecutionScript executes in staff user browser
-
ImpactHijack admin session for account compromise
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires the Ghost content import feature and an Administrator who is tricked into importing an attacker-supplied file containing a crafted SVG; the malicious SVG is then stored unsanitized and served from the site's own domain. Affected only in versions 4.0.0 up to (but not including) the fixed release. Key limiting factors: the attack is not self-service - it needs active social engineering of a privileged Administrator to perform the import (UI:R), and impact further depends on a staff user subsequently rendering the stored SVG in an authenticated admin context for session compromise. No special non-default configuration is otherwise required. |
| Impact | This is a genuine but conditional risk rather than a drop-everything priority. The supplied CVSS 3.1 vector (AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N, 6.8 Medium) is internally consistent with the description: network-reachable but gated behind high attack complexity (AC:H) and required user interaction (UI:R) - specifically, an Administrator must be convinced to import a crafted file. No EPSS score was provided, there is no CISA KEV listing, and no public POC was supplied, so by the precision rules exploitation status is 'no public exploit identified at time of analysis.' The signals do not conflict: a Medium CVSS with AC:H/UI:R aligns with the absence of KEV/POC, indicating a stored-XSS issue that requires social engineering of a privileged user rather than mass, automatable exploitation. The main caveat is a version discrepancy in the source data (see confidence_notes) and the lack of EPSS/POC telemetry, which are missing rather than contradictory. Overall: patch on a normal cadence; it is not a wormable or unauthenticated-RCE emergency, but successful exploitation does yield high-value admin session compromise. |
| Exploit ScenarioDerived | An attacker crafts an SVG file containing embedded JavaScript and, through phishing or a plausible pretext (e.g. a content migration or guest-post package), persuades a Ghost Administrator to import it via the content import feature. Because SVGs in imports were stored without sanitization (versions 4.0.0 through pre-6.67.0), the script is now hosted on the site's own domain and executes in the browser of staff users who view it, enabling theft or hijacking of their admin sessions. No public exploit code was identified at time of analysis, and exploitation hinges on convincing a privileged user to perform the import. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 05, 2026
Stored cross-site scripting in Ghost CMS versions 4.0.0 through 6.66.x allows an attacker to plant malicious JavaScript on the victim site's own domain by convincing an Administrator to import a crafted content archive containing an unsanitized SVG image. Per the CVSS vector (AV:N/AC:H/PR:N/UI:R), the attacker does not need credentials but the attack is not self-service: it depends on successful social engineering of a privileged Administrator to run the import (UI:R), and impact on staff users' admin sessions further depends on that stored SVG being rendered in an authenticated admin context. Exploitation is therefore conditional rather than opportunistic, and no public exploit code has been identified at time of analysis (no CISA KEV listing).
RemediationAI
Upgrade to Ghost 6.67.0, the vendor-released fix version, which sanitizes SVG files on import and validates image contents against the configured format allowlist (advisory: https://github.com/TryGhost/Ghost/security/advisories/GHSA-hqq2-xqr2-fmx2; upstream fix: PR https://github.com/TryGhost/Ghost/pull/31060 and commit https://github.com/TryGhost/Ghost/commit/1be06f4e95a5eb159d14abda7660e689af13cff1). If immediate upgrade is not possible, the highest-value compensating control is procedural: treat every inbound Ghost import archive as untrusted and forbid Administrators from importing files from external or unverified sources, since the entire attack chain requires an admin to run the import (trade-off: this is a policy control, not a technical one, and relies on admin discipline). Technically, restrict who can reach the admin API and the import endpoint to a small, trusted set of accounts and source IP ranges, and remove or reverse-proxy-block the import route entirely on instances that do not use it (trade-off: legitimate migration/site-restore workflows break). Serving uploaded media from a separate cookie-less domain would prevent stored scripts from executing in the main admin origin's context (trade-off: requires CDN/domain reconfiguration and may break existing content links). A strong Content-Security-Policy on admin pages that disallows inline and third-party script can blunt execution of stored SVG script (trade-off: CSP must be tuned to Ghost's own admin bundle and will not help if the SVG is rendered outside the CSP-protected context). Note that sanitizing or deleting already-imported SVG assets and rotating staff admin sessions is advisable on any instance where a suspicious import occurred.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in npm
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Ghost's content import pipeline extracts files from an uploaded archive and previously selected images for storage based on file extension alone, with no validation of actual file contents and no sanitization of SVG payloads. Because SVG is XML, it can legitimately contain script elements and event handlers; when such a file is stored as an 'image' and served from the Ghost site's origin, the browser executes that script in the site's security context, giving the attacker a stored XSS foothold on a trusted domain - the classic CWE-79 failure mode with a privileged admin audience. The upstream fix (PR #31060, commit 1be06f4) addresses the root cause in several layers: the importer's image handler now asynchronously validates each candidate file (bounded to 10 concurrent file handles via a promise pool) using the new image-content module, which detects real file types from bytes with the file-type library rather than trusting the filename, and routes anything with an SVG/SVGZ extension to the SVG sanitizer instead. Supporting changes restrict image decoders to the configured upload extensions at boot and warn when non-image content types are configured under uploads.*.contentTypes, so a spoofed extension such as .jpg containing HTML or script no longer passes the allowlist.
Know when Ghost gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:N
Attacker is unauthenticated (PR:N) but must socially engineer an Administrator to import the file (UI:R) and rely on later rendering, warranting AC:H; stored XSS yields admin-session C:H/I:H, no availability impact.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
Ghost is a Node.js content management system. From 4.0.0 until 6.67.0, SVG images included in content imports were stored without sanitization. An attacker who convinced an Administrator to import a crafted file could host scripts on the site's domain, possibly resulting in compromise of staff users' admin sessions. This issue is fixed in version 6.67.0.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
Ghost CMS versions 5.105.0-5.130.5 and 6.0.0-6.10.3 contain an authentication bypass in their two-factor authentication
Arbitrary code execution in Ghost CMS versions 0.7.2 through 6.19.0 allows authenticated attackers with theme upload pri
An arbitrary file upload vulnerability in the file upload module of Ghost CMS v4.42.0 allows attackers to execute arbitr
An arbitrary file upload vulnerability in the file upload module of Ghost v4.39.0 allows attackers to execute arbitrary
SQL injection in Ghost CMS versions 3.24.0 through 6.19.0 allows unauthenticated attackers to read arbitrary database da
Ghost through 5.85.1 allows remote attackers to bypass an authentication rate-limit protection mechanism by using many X
Ghost through 5.76.0 allows stored XSS, and resultant privilege escalation in which a contributor can take over any acco
Ghost before 5.82.0 allows CSV Injection during a member CSV export. Rated high severity (CVSS 8.8), this vulnerability
Server-side request forgery (SSRF) vulnerability in Ghost CMS < 3.10.0 allows an attacker to scan local or external netw
Ghost before 5.42.1 allows remote attackers to read arbitrary files within the active theme's folder via /assets/built%2
Ghost is a Node.js CMS. Rated medium severity (CVSS 6.8), this vulnerability is remotely exploitable, no authentication
Ghost is an open source content management system. Rated medium severity (CVSS 6.5), this vulnerability is remotely expl
EUVD-2026-92633
GHSA-hqq2-xqr2-fmx2
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB