Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain staff/Contributor account
-
DeliveryCraft malicious embed card in post
-
ExploitStore XSS payload bypassing editor sanitization
-
ExecutionVictim admin opens post in editor
-
ImpactScript runs, hijacks 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 | Exploitation requires an authenticated Ghost staff account of any role - explicitly including the low-trust Contributor role - to author a post containing a malicious embed card that bypasses the editor's stored-XSS protections. The payload only executes when a second staff user opens the affected post in the Ghost admin editor (UI:R), so a higher-privileged victim's interaction is a hard prerequisite; it does not fire against anonymous front-end readers. Exploitation is therefore limited to sites that provision staff/Contributor accounts to semi-trusted or untrusted users, and self-hosted deployments are further protected by leaving the new security.embedPreviewUrl configuration option at its default value. |
| Impact | This is a moderate-priority, authenticated stored XSS (CWE-79) affecting Ghost 6.34.0-6.66.x, with a vendor CVSS 3.1 score of 7.3 (CVSS:3.1/AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:N). The signals are internally consistent but point to a privilege-escalation-via-session-compromise threat rather than a mass-exploitation threat: AV:N/AC:L make delivery easy, but PR:L means the attacker must already be an authenticated staff user (even a low-trust Contributor), and UI:R means a second, higher-privileged staff user must open the malicious post in the editor for the payload to fire. No EPSS score, KEV listing, or POC was provided, so there is no public exploit identified at time of analysis and no evidence of active or widespread exploitation. The realistic risk is an insider or a compromised low-tier account escalating to a full admin session (C:H/I:H), which is serious for multi-author publications but limited by the need for both staff-level access and victim interaction. Note the signal gap: because EPSS and KEV are absent (not negative), exploitation likelihood cannot be quantified from the input - treat this as a prioritized patch for sites with untrusted Contributors rather than an emergency internet-facing fix. |
| Exploit ScenarioDerived | A Ghost publication grants Contributor accounts to freelance or guest writers. One such Contributor creates a post containing an embed card whose payload bypasses the editor's stored-XSS protections; when an Editor or Administrator opens that post in the Ghost admin editor to review it, the script executes in their browser and can hijack their authenticated admin session. No public exploit code was identified at time of analysis, but the attack is low-complexity for anyone holding a staff account. |
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 6.34.0 through 6.66.x allows an authenticated staff user, including a low-privilege Contributor, to store malicious scripts in post content through embed cards. The payload executes when another staff user opens the affected post in the Ghost admin editor, potentially compromising that user's admin session; it does not fire against anonymous front-end readers and requires victim interaction. The issue is fixed in Ghost 6.67.0, and no public exploit identified at time of analysis.
RemediationAI
Vendor-released patch: upgrade Ghost to version 6.67.0. Self-hosted administrators should also confirm that the security.embedPreviewUrl configuration option remains at its default value, since changing it may remove the intended protection. If immediate upgrade is not possible, restrict Contributor and staff accounts to trusted users and review or moderate posts containing embed cards before higher-privileged staff open them in the admin editor; the trade-off is reduced editorial collaboration and increased manual review overhead. Refer to the vendor advisory at https://github.com/TryGhost/Ghost/security/advisories/GHSA-69qc-f5m6-889c for patch details.
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 is a Node.js-based content management system, and the affected component is its editor embed-card handling. The vulnerability is CWE-79 (improper neutralization of input during web page generation), where embed cards could bypass protections intended to prevent stored cross-site scripting. With CVSS 3.1 vector AV:N/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:N, exploitation requires an authenticated staff account (PR:L) and a second user's interaction (UI:R) when opening the post in the admin editor. The CPE cpe:2.3:a:tryghost:ghost:*:*:*:*:*:*:*:* identifies TryGhost Ghost as the affected product. Self-hosted deployments can preserve protection by leaving the new security.embedPreviewUrl configuration option at its default value, and the vendor advisory is GHSA-69qc-f5m6-889c.
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:L/PR:L/UI:R/S:U/C:H/I:H/A:N
Attacker needs a low-privilege staff/Contributor account (PR:L) and the payload fires only when a victim staff user opens the post (UI:R); admin-session compromise yields C:H/I:H, no availability impact.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
Ghost is a Node.js content management system. From version 6.34.0 until 6.67.0, embed cards in the Ghost editor could bypass protections against stored cross-site scripting. Any staff user, including Contributors, could store scripts in post content that ran when another staff user opened the post in the editor, potentially compromising that user’s admin session. Self-hosted sites should leave the new security.embedPreviewUrl configuration option at its default value. This issue is fixed in version 6.67.0.
Articles & Coverage 2
Technical POC Analysis
Evidence supplied is the GitHub advisory GHSA-69qc-f5m6-889c only.
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.34.0 through 6.66.x carry a stored cross-site scripting flaw in embed cards that lets a Contributor-level staff account plant script content which executes inside the admin editor session of whoever opens the post next. The exposure is confined to editorial and administrative users - anonymous front-end readers are unaffected - but a successful compromise of an admin session can hand an attacker full control of the publishing platform, its content pipeline, and connected integrations. Leadership should treat this as a privileged-user integrity risk to the CMS rather than a public-facing website defacement risk, and prioritize upgrading to Ghost 6.67.0.
Apply vendor patch. Vendor-released patch: Ghost 6.67.0. Interim mitigations pending upgrade: restrict Contributor-level account provisioning and audit existing Contributor accounts, require administrators to open untrusted or newly authored posts in a separate browser profile or isolated session, and monitor admin session activity for anomalous behavior.
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-92632
GHSA-69qc-f5m6-889c
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB