Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify Ghost endpoint accepting attacker-controlled URLs
-
DeliveryCraft URL with IPv6-mapped private IPv4 literal (::ffff:x.x.x.x)
-
ExploitSubmit URL to Ghost server-side fetch feature
-
ExecutionGhost IP filter passes IPv6 literal without blocklist match
-
PersistNode.js runtime resolves and connects to private IPv4 host
-
ImpactReceive internal service response (credentials, config data)
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V2 - Validation and Business Logic Input validation completeness
|
| Exploitation Conditions | Exploitation requires that the attacker can supply a URL to a Ghost feature that performs server-side outbound HTTP requests (such as bookmark/embed URL previews, newsletter fetches, or webhook configurations). Ghost versions 6.0.9 through 6.21.0 must be running. No authentication is required per the CVSS PR:N rating. The attacker must know or discover a Ghost endpoint that accepts attacker-controlled URLs for server-side fetching. The IPv6 literal must use the |
| Impact | The CVSS 3.1 base score of 5.8 (Medium) encodes AV:N/AC:L/PR:N/UI:N/S:C/C:N/I:L/A:N. The scope change (S:C) is the most operationally significant metric: successful exploitation crosses the trust boundary from the Ghost application into adjacent internal services. The vendor-assigned C:N is conservative - SSRF to internal metadata endpoints (e.g., cloud IMDSv1 at 169.254.169.254) or internal APIs commonly yields credential or configuration disclosure, suggesting real-world confidentiality impact may exceed the scored value. EPSS data was not provided, preventing probabilistic quantification of exploitation likelihood. The vulnerability is not listed in CISA KEV, and no public exploit code has been identified. Despite the medium CVSS score, deployments on cloud infrastructure with accessible metadata services face elevated risk because the bypass technique (IPv6-mapped literals) is trivially constructed and the attack requires no authentication per PR:N. Deployments behind strict egress firewalls are meaningfully protected. |
| Exploit ScenarioDerived | An unauthenticated attacker identifies a Ghost feature that triggers server-side outbound HTTP requests - such as a URL preview, bookmark card, or webhook - and submits a URL using an IPv6-mapped private IPv4 literal (e.g., |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 24, 2026
Server-side request forgery (SSRF) filter bypass in Ghost CMS 6.0.9 through 6.21.0 allows remote unauthenticated attackers to direct the application to reach internal network services by supplying IPv6 literals that map to private IPv4 addresses, circumventing Ghost's outbound IP blocklist. The root cause is CWE-184 (Incomplete List of Disallowed Inputs): the filter validates against RFC 1918 private ranges but does not normalize IPv6-mapped IPv4 notation before comparison. No public exploit code has been identified at time of analysis, and no CISA KEV listing exists; Ghost 6.21.1 resolves the issue.
RemediationAI
Upgrade Ghost to version 6.21.1 or later; this is the vendor-confirmed patched release per advisory GHSA-wvp2-4qqp-4h3r (https://github.com/TryGhost/Ghost/security/advisories/GHSA-wvp2-4qqp-4h3r). If immediate upgrade is not feasible, apply network-layer egress filtering on the Ghost application server to block outbound TCP connections to all RFC 1918 ranges (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) and the cloud metadata address 169.254.169.254, regardless of how the destination is specified at the application layer; this compensates for the application-filter bypass without requiring code changes. Note that network-level egress restrictions may break legitimate Ghost integrations if any configured webhooks or external content sources resolve to private addresses - audit outbound integrations before applying.
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 outbound HTTP request subsystem implements an application-layer IP blocklist to prevent SSRF by rejecting connections to RFC 1918 private IPv4 ranges (10.x, 172.16-31.x, 192.168.x). The bypass exploits CWE-184 - an incomplete disallowed-input list - because the filter does not normalize IPv6-mapped IPv4 addresses before evaluation. The IPv6 dual-stack representation embeds IPv4 addresses as ::ffff:a.b.c.d (e.g., ::ffff:192.168.1.1 or ::ffff:169.254.169.254); when Node.js resolves such a literal, the underlying TCP socket connects to the corresponding private IPv4 host without triggering the blocklist. The affected CPE is cpe:2.3:a:tryghost:ghost:*:*:*:*:*:*:*:*, spanning versions 6.0.9 through 6.21.0. This is a well-understood class of SSRF bypass documented against dual-stack environments and IPv6-aware runtimes.
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:N/UI:N/S:C/C:N/I:L/A:N
SSRF to internal services creates realistic confidentiality exposure (C:L rather than vendor C:N); all other metrics retain the network-accessible, zero-auth, scope-changed baseline.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
Ghost is a Node.js content management system. From 6.0.9 until 6.21.1, when making an external request, it is possible to bypass the IP filter that ensures the request isn't going to an internal service using an IPv6 literal which maps to a private IPv4 address. This vulnerability is fixed in 6.21.1.
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
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
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
Cross-site scripting (JavaScript injection) in Ghost's ActivityPub client (@tryghost/activitypub) prior to version 3.1.0
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
EUVD-2026-39025
GHSA-wvp2-4qqp-4h3r
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB