Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify cacheable Ghost page on same-domain deployment
-
DeliverySend request with crafted x-ghost-preview header
-
ExploitShared cache stores poisoned preview response
-
ExecutionStaff user loads poisoned page
-
ImpactSession/account takeover of staff user
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V3 - Web Frontend Security Cache-Control for sensitive pages
|
| Exploitation Conditions | Exploitation requires three concrete conditions drawn from the advisory: (1) Ghost must be deployed behind a shared caching layer that serves the same cached content to different visitors; (2) the attacker sends an unauthenticated request carrying the x-ghost-preview header, which alters the rendered frontend response; and (3) for staff-account takeover, Ghost's frontend and admin panel must run on the SAME domain. Limiting factors that materially reduce real-world risk: deployments serving frontend and admin on DIFFERENT domains have no staff-account exposure; deployments without a content-pooling shared cache cannot be poisoned; and victim interaction (UI:R) is needed - a staff user or visitor must request the poisoned page for impact to land. Affected versions are all releases prior to 6.37.0. |
| Impact | The CVSS 3.1 vector AV:N/AC:L/PR:N/UI:R/S:C/C:H/I:H/A:H yields 9.6 (Critical), driven by network reach, no privileges, and a changed scope reflecting impact on cache-downstream victims and staff accounts. However, the raw score overstates universal risk because real-world exploitability is gated by two non-default conditions stated in the description: a shared caching layer that pools cached content across visitors, AND the frontend and admin panel served on the same domain. Deployments that separate those domains have no staff-account exposure, and deployments without a content-sharing cache are not poisonable, so AC:L arguably understates the configuration dependency. No EPSS score, KEV listing, or POC was provided; the signals are therefore: no public exploit identified at time of analysis and not known to be actively exploited. This is a genuine high priority for Ghost operators running a shared cache on a single domain, but a much lower practical risk for the segmented-domain or uncached majority. |
| Exploit ScenarioDerived | An attacker sends a request to a cacheable public page of a vulnerable Ghost site with a crafted x-ghost-preview header, causing the shared cache to store the altered, preview-influenced response under the normal URL. A staff user (or other visitors) subsequently loading that same page receives the poisoned content; on a same-domain frontend/admin deployment the attacker leverages this to take over the staff account. No POC was provided, and exploitation depends on the victim retrieving the poisoned cache entry (UI:R). |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 24, 2026
Web cache poisoning in the Ghost Node.js CMS before 6.37.0 lets an unauthenticated attacker inject an x-ghost-preview header that alters the rendered frontend response, which a shared caching layer then stores and serves to other visitors of the same page. When Ghost's public frontend and admin panel share a single domain, this request-specific preview output can be weaponized to hijack staff accounts; separate-domain deployments are not exposed. No public exploit is identified at time of analysis, and the issue carries a vendor CVSS of 9.6.
RemediationAI
Upgrade to Ghost 6.37.0, which fixes the issue (Vendor-released patch: 6.37.0); this is the primary and recommended remediation per advisory GHSA-62q6-4hv4-vjrw (https://github.com/TryGhost/Ghost/security/advisories/GHSA-62q6-4hv4-vjrw). If you cannot patch immediately, apply compensating controls at the caching layer and topology: strip or block the x-ghost-preview header on inbound requests at the CDN/reverse proxy so it can never reach Ghost from untrusted clients (trade-off: legitimate preview workflows routed through that path break); add x-ghost-preview to the cache key or Vary handling, or exclude preview-influenced responses from the shared cache entirely (trade-off: reduced cache hit ratio); and where feasible serve the admin panel on a separate domain/subdomain from the public frontend, which removes the staff-account-takeover exposure even if cache poisoning of preview output remains possible.
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 widely used open-source headless/traditional CMS built on Node.js, commonly fronted by a CDN or reverse-proxy cache (Varnish, Cloudflare, Fastly, nginx microcaching) to absorb anonymous traffic. The vulnerability is rooted in CWE-524 (information exposure through caching): Ghost honors the request-specific x-ghost-preview header when rendering the frontend, but the resulting response is not properly distinguished (no Vary handling/cache-key separation) from a normal page. A shared cache therefore treats attacker-influenced, preview-altered output as a cacheable representation of the canonical URL and replays it to unrelated visitors. The CPE cpe:2.3:a:tryghost:ghost:*:*:*:*:*:*:*:* indicates all Ghost versions up to the 6.37.0 fix are affected.
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:R/S:C/C:H/I:H/A:H
Network and unauthenticated (AV:N/PR:N) but gated by shared-cache and same-domain prerequisites plus victim cache retrieval (AC:H, UI:R); cache poisoning crosses trust boundary (S:C) enabling account takeover (C:H/I:H), with limited availability impact (A:L).
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
Ghost is a Node.js content management system. From until 6.37.0, when Ghost is behind a shared caching layer that results in cached content being shared between different visitors, an unauthenticated user could send an x-ghost-preview header that altered the rendered frontend response. In affected cache configurations, that response could be stored and served to subsequent visitors requesting the same page, allowing cache poisoning of request-specific preview output. When running Ghost's frontend and admin panel on the same domain this could be used to take over staff user accounts. When running these on different domains staff accounts have no exposure. This vulnerability is fixed in 6.37.0.
Articles & Coverage 1
Executive ViewAI
A critical vulnerability in Ghost CMS (CVSS 9.6) could allow attackers to compromise staff accounts without authentication if your organization operates the admin panel and public website on the same domain. Account takeover of administrative staff poses direct risk of full system compromise, data breach, and operational disruption.
No vendor-released patch identified at time of analysis. Interim mitigations: (1) Migrate admin panel to separate domain or subdomain; (2) Deploy WAF to block x-ghost-preview HTTP headers; (3) Configure Cache-Control: no-store on all authenticated endpoints; (4) Restrict admin panel network access via VPN or IP allowlist; (5) Monitor Ghost release schedule and apply patch immediately upon release.
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
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
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-39027
GHSA-62q6-4hv4-vjrw
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB