Skip to main content

Ghost CMS CVE-2026-105647

| EUVDEUVD-2026-92754 MEDIUM
Time-of-check Time-of-use (TOCTOU) Race Condition (CWE-367)
2026-10-05 GitHub_M GHSA-322m-ff4g-9vx9
4.0
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Submit attacker URL via Webmention/oembed
  2. Delivery
    Trigger server-side favicon/oembed fetch
  3. Exploit
    Win DNS rebinding race to internal IP
  4. Execution
    Ghost issues blind HTTP request to internal host
  5. Impact
    Infer internal host reachability

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture TOCTOU prevention
Exploitation Conditions

Exploitation requires that the Ghost instance process an attacker-supplied URL through its oembed/bookmark/favicon-fetching path - in practice reachable via the unauthenticated Webmentions feature named in the advisory. The specific technical prerequisite is winning a DNS-rebinding race against the favicon probe path, which historically used metascraper-logo-favicon's reachable-url resolver (bundling got 11) that ignored the connection-time dnsLookup IP validation Ghost installs via externalRequest. Limiting factors: the attack is BLIND (no response data returned, per the description), so it yields only internal-host reachability/probing rather than data theft; it depends on successfully timing the DNS rebind (AC:H); it requires an internal network with reachable hosts worth probing; and it is fully remediated in 6.65.0 for versions 6.54.1 through 6.64.x.

Impact

This is a genuinely low-priority issue despite being network-reachable and unauthenticated. The provided CVSS 3.1 vector (AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:N/A:N, base 4.0) is internally consistent with the description: an unauthenticated attacker can reach the network, but AC:H reflects the race-condition nature (CWE-367 TOCTOU, consistent with the DNS-rebinding mechanism shown in the patch), S:C reflects that the impact crosses into the Ghost server's internal network, and C:L/I:N/A:N reflect that this is a BLIND SSRF - the description explicitly states 'a successful attack would not result in any response data being returned.' No EPSS score, SSVC decision, KEV listing, or POC was provided in the input. There is no public exploit identified at time of analysis and no evidence of active exploitation. The combination of high attack complexity (winning a DNS-rebinding race), blind-only impact (no exfiltration of response bodies), and limited technical impact means this is a defense-in-depth hardening fix rather than an urgent threat. The C:L rating is arguably generous given that no data is returned - realistic impact is limited to probing reachability/existence of internal hosts via timing, not reading their contents.

Exploit ScenarioDerived

An unauthenticated attacker submits a Webmention or a URL that Ghost processes via its oembed/favicon-fetching service, pointing at a domain the attacker controls. Using DNS rebinding, the attacker races the resolver so Ghost's outbound fetch lands on an internal RFC1918 address, causing the server to issue limited HTTP requests against hosts in its internal network. Because no response body is returned to the attacker, exploitation is blind and reconnaissance-oriented; no public exploit code was identified in the provided data.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 05, 2026

Blind server-side request forgery (SSRF) in Ghost CMS versions 6.54.1 through 6.64.x lets an unauthenticated remote attacker coerce the server into issuing limited HTTP requests to hosts on its internal network, using functionality such as the Webmentions feature to submit attacker-controlled URLs that are later fetched by Ghost's oembed/bookmark/favicon pipeline. The impact is constrained: no response body is returned to the attacker, so the attack yields only internal-host reachability probing rather than data exfiltration, and exploitation depends on winning a DNS-rebinding race (AC:H per the assessed vector, overall CVSS 4.0). No public exploit code has been identified at time of analysis and there is no CISA KEV confirmation of active exploitation; the vendor-released patch is Ghost 6.65.0.

RemediationAI

Upgrade to Ghost 6.65.0, the vendor-released patch that routes favicon probes through externalRequest so the connection-time dnsLookup IP validation applies (PR https://github.com/TryGhost/Ghost/pull/30918, commit https://github.com/TryGhost/Ghost/commit/3f8594eb53de883ac017545c358f59039cb152de, release https://github.com/TryGhost/Ghost/releases/tag/v6.65.0, advisory https://github.com/TryGhost/Ghost/security/advisories/GHSA-322m-ff4g-9vx9); all deployments in the 6.54.1-6.64.x range should treat this as the primary and only complete fix. Where immediate upgrade is not possible, combine compensating controls: disable the Webmentions feature (and, if unused, bookmark/oembed link-preview fetching) to remove the unauthenticated URL-injection entry point, accepting loss of that functionality; enforce outbound egress filtering on the Ghost host/container that blocks RFC1918 (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16), loopback, link-local (169.254.0.0/16, including the 169.254.169.254 cloud metadata endpoint) and IPv6 equivalents, accepting that legitimate remote oembed/feed sources must be allowlisted and that misconfiguration can break previews; and run Ghost in a segmented network with no sensitive internal services reachable from it. Because the attack is blind and returns no response data, egress filtering also limits the practical value of any residual rebinding window, but none of these controls should be considered a substitute for upgrading to 6.65.0.

Affected VersionsENISA

Ghost 6.54.1, < 6.65.0

Affected Packages

npm ghost fix: 6.65.0

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 a time-of-check/time-of-use race condition (CWE-367) enabled by an inconsistency between Ghost's SSRF guard and a third-party resolver. Ghost's externalRequest HTTP client installs a beforeRequest hook that sets a custom dnsLookup, validating the resolved IP address at connection time and rejecting addresses in non-permitted private ranges. However, the favicon-resolution path used by metascraper-logo-favicon relied on the reachable-url package, which bundles got 11 and does not honor the dnsLookup option, so favicon probes bypassed Ghost's connection-time IP validation entirely. An attacker who supplies a hostname that initially resolves to a permitted public IP (passing whatever earlier check exists) and then rebinds to a private/internal IP between validation and connection can steer the probe at internal hosts. The upstream fix in PR 30918 replaces the resolver with a fetchFirstChunk helper that routes favicon checks through externalRequest itself, issuing a Range: bytes=0-0 request with decompression disabled and throwHttpErrors disabled, then validating the response status (2xx), the content-type against the expected image types, and that the first body byte is not '<' (0x3C, indicating markup rather than an image). Because the request goes through externalRequest, the connection-time dnsLookup IP validation is applied, closing the rebinding window. The CPE cpe:2.3:a:tryghost:ghost identifies the affected product.

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

Vendor (GitHub_M) PRIMARY 4.0 MEDIUM
AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:N/A:N
vuln.today AI 4.0 MEDIUM

Unauthenticated network reach (PR:N/AV:N) but requires winning a DNS-rebinding race (AC:H); reaches internal network (S:C) with only blind reachability info and no data returned (C:L, I:N, A:N).

3.1 AV:N/AC:H/PR:N/UI:N/S:C/C:L/I:N/A:N
4.0 AV:N/AC:H/AT:N/PR:N/UI:N/VC:N/VI:N/VA:N/SC:L/SI:N/SA:N

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Network
Attack Complexity
High
Privileges Required
None
User Interaction
None
Scope
Changed
Confidentiality
Low
Integrity
None
Availability
None

Lifecycle Timeline

1
Patch available
Oct 05, 2026 - 21:02 EUVD

DescriptionCVE.org

Ghost is a Node.js content management system. From 6.54.1 until 6.65.0, a validation issue allowed some functionality, such as Webmentions, to be abused by an unauthenticated user to make limited HTTP requests to hosts in the Ghost server's internal network. A successful attack would not result in any response data being returned. This issue is fixed in version 6.65.0.

Threat Intelligence Overview

EPSS Score
0.2%
Top 87% exploitable
Prevalence
Medium
Popular open-source Node.js CMS, but far from universal deployment
Threat Intel
1
1 source
Exploit
POC
Public exploit code exists
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA GitHub

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC Yes
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

40
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +20
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

More in Ghost

View all
CVE-2026-22594 HIGH POC
8.1 Jan 10

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

CVE-2026-29053 HIGH POC
7.6 Mar 05

Arbitrary code execution in Ghost CMS versions 0.7.2 through 6.19.0 allows authenticated attackers with theme upload pri

CVE-2022-28397 CRITICAL POC
9.8 Apr 12

An arbitrary file upload vulnerability in the file upload module of Ghost CMS v4.42.0 allows attackers to execute arbitr

CVE-2022-27139 CRITICAL POC
9.8 Apr 12

An arbitrary file upload vulnerability in the file upload module of Ghost v4.39.0 allows attackers to execute arbitrary

CVE-2026-26980 CRITICAL POC
9.4 Feb 20

SQL injection in Ghost CMS versions 3.24.0 through 6.19.0 allows unauthenticated attackers to read arbitrary database da

CVE-2024-34451 CRITICAL POC
9.1 Jun 16

Ghost through 5.85.1 allows remote attackers to bypass an authentication rate-limit protection mechanism by using many X

CVE-2024-23724 CRITICAL POC
9.0 Feb 11

Ghost through 5.76.0 allows stored XSS, and resultant privilege escalation in which a contributor can take over any acco

CVE-2024-34448 HIGH POC
8.8 May 22

Ghost before 5.82.0 allows CSV Injection during a member CSV export. Rated high severity (CVSS 8.8), this vulnerability

CVE-2020-8134 HIGH POC
8.1 Mar 20

Server-side request forgery (SSRF) vulnerability in Ghost CMS < 3.10.0 allows an attacker to scan local or external netw

CVE-2023-32235 HIGH POC
7.5 May 05

Ghost before 5.42.1 allows remote attackers to read arbitrary files within the active theme's folder via /assets/built%2

CVE-2021-29484 MEDIUM POC
6.8 Apr 29

Ghost is a Node.js CMS. Rated medium severity (CVSS 6.8), this vulnerability is remotely exploitable, no authentication

CVE-2023-40028 MEDIUM POC
6.5 Aug 15

Ghost is an open source content management system. Rated medium severity (CVSS 6.5), this vulnerability is remotely expl

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy