Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as staff user
-
DeliveryUpload script-bearing file
-
ExploitFile served with executable content-type
-
ExecutionVictim admin loads payload
-
ImpactHijack admin session
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 | Requires an authenticated Ghost staff account (PR:L) on an instance running the default local storage adapter, which serves uploaded files with extension-derived content types from the site's own origin. Exploitation further requires a second staff user (typically higher-privileged) to view the malicious upload within the admin context (UI:P). Limiting factors: the attacker must already possess staff credentials, the instance must use default local storage (object-storage/CDN adapters on a separate origin mitigate it), and successful session compromise depends on a victim staff user loading the payload - so single-operator or non-default-storage deployments face substantially reduced real-world risk. |
| Impact | This is a credible but privilege-gated threat rather than a drive-by critical. The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:P/VC:H/VI:H) scores 8.5 (High) and is internally consistent with the description: network-reachable, low complexity, but requiring an authenticated staff account (PR:L) and passive victim interaction (UI:P). The real-world risk is bounded by the PR:L prerequisite - an attacker must already hold a staff/author account, so this is primarily a privilege-escalation/lateral-movement primitive among staff (a lower-privileged author compromising an owner/admin session) rather than an unauthenticated internet-facing RCE. Exploitation signals are weak-to-absent: there is no CISA KEV listing and no public POC referenced, so this is not confirmed exploited. No EPSS score was provided in the input, so probabilistic exploitation likelihood cannot be stated - this is a notable data gap. A further limiter is that the flaw only manifests on the default local storage adapter; deployments fronting uploads with an object-storage/CDN adapter on a separate origin are not affected in the same way. Net: a real priority for multi-author Ghost instances where staff accounts are loosely trusted or self-registration is broad, but materially lower urgency than the 8.5 implies for single-admin or tightly-controlled installations. |
| Exploit ScenarioDerived | A low-privileged staff user (e.g., an author) uploads a file whose extension causes Ghost's default local storage adapter to serve it with a script-executable content type on the site's own domain. When a higher-privileged staff user (owner/admin) later views that content in the admin context, the attacker's script runs in their authenticated session and hijacks it. No public exploit code is identified at time of analysis, but the technique is straightforward given a staff account. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 02, 2026
Stored cross-site scripting in Ghost CMS (6.22.1 through versions before 6.64.0) allows an authenticated staff user to upload a file that the default local storage adapter serves back from the site's own origin with an extension-derived content type, so a second staff member who views the upload in the admin context can have their session compromised. The attack is privilege-gated rather than a drive-by critical: it requires an existing staff account (PR:L), the default local storage adapter (instances using object-storage or CDN adapters on a separate origin are materially less exposed), and interaction by a victim staff user, typically one with higher privileges (UI:P). Vendor patch is available; no public exploit code has been identified at time of analysis.
RemediationAI
Vendor-released patch: upgrade to Ghost 6.64.0, the first release outside the affected range, as documented in the vendor advisory at https://github.com/TryGhost/Ghost/security/advisories/GHSA-gfjp-2p8f-94qv (patch availability confirmed; the input data does not expose a backport list, so confirm coverage for any LTS branch in use). If immediate upgrade is not possible, the highest-value compensating control is to stop serving uploads from the admin origin - migrate media to an object-storage or CDN adapter on a separate domain, accepting the operational cost of reconfiguring storage and re-pointing existing asset URLs. As a secondary measure, configure the reverse proxy or web server to emit Content-Disposition: attachment and X-Content-Type-Options: nosniff for the uploads path, which neutralizes most script-bearing file types but can break legitimate inline image or video embedding and must be validated against existing content. A restrictive Content-Security-Policy on the admin origin (script-src limited to trusted host sources, no 'unsafe-inline' or data: sources) reduces payload execution but risks breaking admin UI functionality and should be tested before enforcement. Because exploitation requires an existing staff account, audit and minimize staff users, remove dormant or over-privileged accounts, and review recent uploads for unexpected HTML/SVG-style files; note that these measures reduce likelihood and blast radius but do not substitute for patching, and no public exploit code has been identified at time of analysis.
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
The root cause is CWE-79 (Improper Neutralization of Input During Web Page Generation, i.e. stored cross-site scripting) arising from how Ghost's default local storage adapter handles uploaded files. Ghost is a Node.js publishing platform whose admin panel and uploaded media are normally served from the same origin; when a file is uploaded, the content type is inferred from the file extension rather than being validated or forced to a safe set, so a script-bearing file (for example one saved with an .html or .svg-style extension) is returned to the browser as renderable active content instead of as an inert attachment. Because that content is delivered from the CMS's own origin, any script it contains executes in the origin of the admin interface and can act on behalf of a viewing staff user rather than being confined by same-origin policy. The affected component is identified by CPE cpe:2.3:a:tryghost:ghost:*:*:*:*:*:*:*:* and tracked in the EU as EUVD-2026-91422. Note the vector discrepancy between sources: the supplied CVSS 4.0 score of 8.5 (AV:N/AC:L/AT:N/PR:L/UI:P/VC:H/VI:H/VA:N) and the independent CVSS 3.1 assessment (AV:N/AC:L/PR:L/UI:R/S:C/C:H/I:H/A:N) agree on the essentials - network-reachable, low-complexity, authenticated, user-interaction dependent, scope-changing, with high confidentiality and integrity impact but no availability impact.
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
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N
Stored XSS exploitable by an authenticated staff user (PR:L) against another user's browser session, so S:C with UI:R; admin-session takeover yields C:H/I:H, no availability impact.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
2DescriptionCVE.org
Ghost from 6.22.1 before 6.64.0 contains a stored cross-site scripting vulnerability that allows staff users to host scripts by uploading files served with extension-derived content types on the default local storage adapter. Attackers can upload script-bearing files to the site's domain to compromise other staff users' admin sessions.
Technical POC Analysis
CWE-79 (stored cross-site scripting), with CWE-434 listed by the advisory as the contributing upload-side weakness.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Executive ViewAI
Ghost CMS deployments running versions 6.22.1 through 6.63.x carry a stored cross-site scripting flaw that lets an existing staff-level account plant malicious content in uploaded files, which is then served back from the site's own domain and can hijack the browser session of any colleague who opens it - including administrators with broader publishing and configuration rights. Because the attacker already needs a legitimate staff login and the victim must interact with the file, this is a targeted insider or compromised-account risk rather than an opportunistic mass-exploitation event, but successful abuse could yield administrative control of the content platform. Marketing, editorial, and platform-owning teams that rely on Ghost for public-facing content are the primary exposure group.
Apply vendor patch.
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-91422
GHSA-6v5j-39pg-pv7v
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB