Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessStand up malicious ActivityPub server
-
DeliveryFederate with target Ghost instance
-
ExploitCraft post with embedded JavaScript
-
ExecutionVictim views shared post in client
-
PersistInjected script executes in browser session
-
ImpactSteal session or act as user
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 that the attacker control a maliciously customized ActivityPub server and that the victim Ghost instance (prior to 3.1.0) federate with or consume posts from that server - federation must be enabled and the victim must follow/receive the attacker's content. The victim user must then actively view the malicious shared post for the injected JavaScript to execute (UI:R in the CVSS vector). Limiting factors: the required attacker-operated federation peer and the high attack complexity (AC:H), the necessity of user interaction, and the fact that instances which do not enable ActivityPub federation or only federate with trusted servers are not realistically exposed. No target-side authentication is needed by the attacker (PR:N), but the practical barrier is establishing the federation relationship and getting the victim to render the content. |
| Impact | The CVSS 3.1 base score is 7.5 (High) with vector AV:N/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H. Two metrics meaningfully constrain real-world risk: AC:H reflects that the attacker must operate a maliciously customized ActivityPub server and have the victim instance federate with it, and UI:R requires the victim to actually view the malicious post. No EPSS score was provided, so exploitation probability cannot be quantified; the vulnerability is not in CISA KEV and no POC was supplied, so there is no evidence of active or automated exploitation. The C:H/I:H/A:H impact ratings are aggressive for a client-side XSS and likely reflect a worst-case account-takeover assumption rather than confirmed availability impact - XSS typically does not degrade availability, so the A:H rating should be treated with skepticism pending vendor detail. Net assessment: a credible but conditional risk - meaningful for instances that federate broadly with untrusted servers, lower priority for closed or tightly controlled federation, and not an emergency-patch scenario absent exploitation signals. SSVC inputs (automatable, exploitation status) were not provided in the input data. |
| Exploit ScenarioDerived | An attacker stands up or customizes an ActivityPub server and crafts a post containing embedded JavaScript, then ensures a victim Ghost instance federates with or follows that server. When a Ghost user opens or views the shared malicious post in the ActivityPub client, the injected script runs in their authenticated browser session, potentially exfiltrating session tokens or performing actions as that user. No public POC was provided, and the attack depends on the victim viewing the content (UI:R) and the relatively involved setup of a malicious federation peer (AC:H). |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 24, 2026
Cross-site scripting (JavaScript injection) in Ghost's ActivityPub client (@tryghost/activitypub) prior to version 3.1.0 allows a malicious federated server to embed attacker-controlled script in shared posts that executes in the browser of a victim Ghost user who views the content. The flaw stems from improper sanitization of post content received over ActivityPub federation, enabling session theft or actions performed in the victim's authenticated context. There is no public exploit identified at the time of analysis, and the issue is not listed in CISA KEV.
RemediationAI
Upgrade the Ghost ActivityPub client (@tryghost/activitypub) to version 3.1.0 or later, which contains the fix; this is the primary and recommended remediation per the vendor advisory at https://github.com/TryGhost/Ghost/security/advisories/GHSA-xpp7-93x6-v29m. If immediate upgrade is not possible, reduce exposure by limiting or disabling ActivityPub federation, or by restricting which remote servers your instance federates with so content is only consumed from trusted sources - the trade-off is loss of social/federation functionality and reach. Additionally, deploying a restrictive Content-Security-Policy that disallows inline script execution in the Ghost client context can blunt injected JavaScript, though CSP is a defense-in-depth measure and may break legitimate inline scripts or themes and is not a substitute for the patch. Exact fix version: 3.1.0 (vendor-released patch).
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 2 packages in npm, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The affected component is @tryghost/activitypub, the social/federation client bundled with the Ghost publishing platform, which implements the ActivityPub protocol to consume and display posts from remote (federated) servers. The root cause is CWE-79 (Improper Neutralization of Input During Web Page Generation / Cross-site Scripting): content fields delivered in ActivityPub objects from a remote actor are rendered into the Ghost client UI without adequate output encoding or HTML sanitization, so a remote server operator who customizes the ActivityPub responses can smuggle active JavaScript into the rendered post. The single CPE provided, cpe:2.3:a:tryghost:ghost:*, identifies the Ghost application generically; because federation inherently means processing untrusted data from servers outside the operator's control, any sanitization gap in the rendering path becomes directly attacker-influenceable.
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:H
Network-delivered via federation (AV:N) but needs an attacker-run malicious server plus victim viewing (AC:H, UI:R); script escapes into the user's browser session (S:C, C:H), limited integrity impact and no real availability loss (A:N).
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
@tryghost/activitypub is Ghost’s social/federation client app. Prior to 3.1.0, the ActivityPub client in Ghost was vulnerable to JavaScript injection on posts shared by a maliciously customised ActivityPub server. This vulnerability is fixed in 3.1.0.
Executive ViewAI
Ghost installations running ActivityPub federation are vulnerable to a HIGH-severity cross-site scripting (XSS) attack where malicious federated servers can inject code that executes in the browser of authenticated Ghost users, potentially compromising sessions or enabling unauthorized content actions. This affects any organization using Ghost as a content platform that has enabled ActivityPub federation with untrusted or potentially compromised external servers. No public exploit identified at time of analysis, but no vendor-released patch is currently available, necessitating immediate mitigation controls to reduce exposure.
Disable ActivityPub federation in Ghost configuration if not business-critical; implement strict Content Security Policy (CSP) headers to block inline script execution; restrict outbound federation to pre-approved, trusted server instances only; deploy Web Application Firewall (WAF) rules to detect and block suspicious script injection patterns; monitor authenticated user sessions for evidence of compromise; establish rapid patch-deployment process to enable immediate deployment when vendor releases fix.
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-39019
GHSA-xpp7-93x6-v29m
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB