Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessControl authoritative DNS for attacker-owned domain
-
DeliveryConfigure DNS to resolve to public IP with sub-second TTL
-
ExploitTrigger Ghost outbound HTTP feature with attacker domain URL
-
ExecutionGhost resolves domain, sees public IP, passes private-IP check
-
PersistAttacker switches DNS record to internal target IP
-
ImpactGhost HTTP client connects to internal host
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture TOCTOU prevention
|
| Exploitation Conditions | The attacker must be able to trigger a Ghost feature that issues an outbound HTTP request to an attacker-controlled hostname - examples include configuring a webhook URL, submitting an RSS feed URL for import, or invoking a custom integration. The CVSS vector (PR:N) indicates this can be achieved without authenticating to Ghost, though the specific unauthenticated feature vector should be confirmed against the full vendor advisory. Beyond the Ghost interaction, the attacker must control a DNS server capable of serving responses with very short TTLs and switch the A record from a public IP to a private/internal target within the window between Ghost's IP-validation check and the subsequent TCP connection. Exploitation is constrained by this high timing precision (AC:H) and the requirement for DNS infrastructure control. Ghost versions 6.21.1 and later are not affected. |
| Impact | The official CVSS 3.1 score is 4.0 with vector AV:N/AC:H/PR:N/UI:N/S:C/C:N/I:L/A:N. The High attack complexity (AC:H) accurately captures the non-trivial prerequisites: the attacker must control DNS infrastructure with sub-TTL switching capabilities and win a race condition between Ghost's check and its TCP handshake. The Scope Changed (S:C) flag is substantively important - exploitation allows Ghost to reach internal hosts such as cloud metadata endpoints (169.254.169.254), internal APIs, or adjacent containers that should be network-isolated. The official vector rates C:N, but SSRF-class access to internal hosts typically allows at least probing responses, suggesting C:L may better reflect realistic impact; this discrepancy should be verified against the vendor's analysis of which Ghost features expose fetch responses to the requester. No CISA KEV listing and no public exploit code identified at time of analysis; no EPSS data was provided, so exploitation probability cannot be quantified. Practical risk is elevated for Ghost deployments co-located with sensitive internal services but substantially reduced by AC:H for opportunistic attackers. |
| Exploit ScenarioDerived | An attacker registers a domain and configures its authoritative DNS to serve a public IP with an extremely short TTL. They trigger a Ghost feature (such as a webhook endpoint or integration fetch) pointing at that domain; Ghost resolves the name, sees a public IP, and passes its private-IP check. The attacker simultaneously flips the DNS record to an internal target (e.g., 169.254.169.254 or an internal database host); Ghost's HTTP client then connects to the internal address, bypassing SSRF protections. No public exploit code has been identified at time of analysis, and the timing-dependent nature of the attack limits casual exploitation. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 24, 2026
DNS rebinding bypasses Ghost CMS's private-IP validation for outbound HTTP requests, enabling server-side request forgery (SSRF) against internal network resources. Versions 6.0.9 through 6.21.0 are affected; the root cause is a TOCTOU race (CWE-367) between Ghost's allowlist check and the actual TCP connection, which a DNS-rebinding attacker exploits by switching DNS records between check-time and connect-time. No public exploit code identified and not listed in CISA KEV, but the scope-changed CVSS rating (S:C) reflects that successful exploitation escapes Ghost's network boundary into adjacent internal infrastructure.
RemediationAI
Upgrade to Ghost 6.21.1 or later, which contains the vendor-released fix per advisory GHSA-ch52-px8q-f22j at https://github.com/TryGhost/Ghost/security/advisories/GHSA-ch52-px8q-f22j. If immediate upgrade is not feasible, apply egress firewall rules at the network or container level that block Ghost's process from initiating TCP connections to RFC-1918 ranges (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16), link-local ranges (169.254.0.0/16), and other internal CIDRs; this network-layer control prevents the rebinded connection from succeeding even when the application-level check is bypassed, though misconfiguration may disrupt legitimate outbound Ghost features. As a more aggressive workaround, disabling Ghost features that perform external HTTP fetches - webhooks, custom integrations, RSS imports - eliminates the attack surface at the cost of losing that functionality entirely.
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 an open-source Node.js content management system (CPE: cpe:2.3:a:tryghost:ghost) that exposes features - webhooks, RSS imports, link unfurling, custom integrations - which issue outbound HTTP fetches. To prevent SSRF, Ghost validates that the resolved IP of a requested hostname is not within RFC-1918 private ranges before connecting. The flaw (CWE-367: Time-of-Check Time-of-Use) arises because DNS resolution at check-time is distinct from the resolution the HTTP client uses at connect-time. An attacker who controls a DNS server can serve a public IP during Ghost's check phase, then switch the DNS record to a private/internal IP - with a very short TTL - before Ghost's HTTP client establishes the TCP connection. This classic DNS rebinding pattern defeats point-in-time IP validation without requiring any change to Ghost's own configuration.
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:N/S:C/C:N/I:L/A:N
DNS rebinding requires no auth but demands DNS control and timing precision (AC:H); SSRF-class internal access implies at least low confidentiality impact (C:L) from probing internal service responses.
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, Ghost’s private-IP check for outbound HTTP requests could be bypassed via DNS rebinding, allowing an attacker to coerce the Ghost server into reaching hosts on internal networks through features that issue external fetches. 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-39024
GHSA-ch52-px8q-f22j
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB