Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessIdentify Ghost site before 6.20.0
-
DeliveryCraft URL-encoded path to theme file
-
ExploitBypass extension validation (CWE-173)
-
ExecutionServer returns restricted template/metadata
-
ImpactRead sensitive theme source
Vulnerability Assessment
| Weakness |
CWE
|
| Exploitation Conditions | No special configuration is required - exploitation works against a default internet-facing Ghost installation on any version before 6.20.0, by an unauthenticated remote attacker (PR:N/UI:N) who submits a URL-encoded path that defeats the server's file-extension validation. The practical limits are the impact scope rather than access: the flaw only permits READING theme template and metadata files (no write, no code execution, no access to member/user data or site secrets), so a successful attack discloses theme source and configuration but does not modify the site or directly compromise accounts. |
| Impact | The CVSS 4.0 base score of 6.9 (AV:N/AC:L/AT:N/PR:N/UI:N/VC:L) reflects a remotely reachable, low-complexity, unauthenticated flaw with only LOW confidentiality impact and no integrity or availability impact - an accurate characterization of an information-disclosure bug that leaks theme templates and metadata rather than user credentials or secrets. There is no EPSS score, no CISA KEV listing, and no public exploit identified at time of analysis, so despite the trivial exploitation prerequisites (PR:N/AC:L), there is no evidence of real-world weaponization. The signals are internally consistent: a genuinely easy-to-trigger bug whose real-world priority is tempered by its limited impact (read-only access to non-secret theme files). No key data conflicts; the only notable gap is the absence of exploit-probability telemetry (EPSS), which is common for freshly published advisories. Treat this as a routine-patch item rather than an emergency: easy to exploit but low consequence. |
| Exploit ScenarioDerived | An unauthenticated attacker sends an HTTP request for a Ghost theme file path using URL-encoded characters (e.g., encoded dots or slashes) to defeat the server-side file-extension validation. Ghost then serves the raw template or metadata file that should have been blocked, disclosing theme source and configuration details. No public exploit code has been identified, but the attack requires only a crafted URL and no authentication. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 01, 2026
Unauthenticated attackers can read theme template and metadata files from internet-facing Ghost blogs running any version before 6.20.0 by supplying URL-encoded file paths that slip past the platform's file-extension validation, exposing theme source and configuration but not member data, user records, or site secrets. The flaw requires no special configuration and works against a default installation (CVSS 4.0 base 6.9; independent assessment scores it CVSS 3.1 AV:N/AC:L/PR:N/UI:N with only low confidentiality impact, no integrity or availability impact). No public exploit code has been identified at time of analysis, and the vendor-released fix is Ghost 6.20.0.
RemediationAI
Upgrade Ghost to version 6.20.0, which is the vendor-released patch for this issue; deployment guidance and the fixed release are documented in the GitHub advisory at https://github.com/TryGhost/Ghost/security/advisories/GHSA-6v8p-3jx9-8chr, with additional detail in the VulnCheck advisory at https://www.vulncheck.com/advisories/ghost-before-6.20.0-file-read-via-url-encoding-bypass. Because exploitation needs only an unauthenticated request and no special configuration, patching is the only reliable fix and should be prioritized for any Ghost instance exposed to the internet; no exact fix commit or PR-level version was provided beyond the 6.20.0 release. If immediate upgrade is impossible, a compensating control is to front the Ghost origin with a reverse proxy or WAF that normalizes and rejects percent-encoded path segments targeting theme/asset file routes (for example, blocking requests whose decoded path resolves to .hbs templates or theme metadata), and to avoid publicly exposing raw theme directories; the trade-offs are that such rules can be bypassed by double- or mixed-encoding variants and may break legitimate clients that rely on encoded characters, so they should be treated as temporary mitigations only. Restricting access to the theme-serving routes to trusted networks or authenticated sessions further reduces exposure but will break public rendering for visitors, and reviewing access logs for encoded requests to theme file paths can help detect prior exploitation attempts.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Ghost (TryGhost Ghost) is a Node.js-based publishing platform whose themes consist of Handlebars (.hbs) templates and a package.json-style metadata file stored server-side and served through theme/asset routes. Before version 6.20.0, the file-serving path validates the requested file's extension against an allowlist, but it performs that check on the raw, still-encoded request path rather than on a normalized/decoded one. This is CWE-173 (Improper Handling of Alternate Encoding): a request using percent-encoded characters (for example, encoding a character within the extension or path segment) fails to match the filter's normalized view of the extension while the underlying file lookup or routing layer decodes back to the real .hbs template or theme metadata file, so the read succeeds. The CPE cpe:2.3:a:tryghost:ghost:*:*:*:*:*:*:*:* confirms the entire Ghost product line up to the fixed release is in scope, and EUVD records the affected range as Ghost 0 through <6.20.0. The consequence is confined to disclosure of theme templates and metadata - no write primitive, no code execution, and no path into member accounts or credentials - which matches the low confidentiality-only impact in both the vendor CVSS 4.0 vector (VC:L, VI:N, VA:N, SC:N, SI:N, SA:N) and the independent CVSS 3.1 assessment (C:L/I:N/A:N).
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
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
Remote, unauthenticated, no interaction, low-complexity encoding bypass (AV:N/AC:L/PR:N/UI:N); read-only exposure of non-secret theme files yields C:L with no integrity or availability impact and no scope change.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
1DescriptionCVE.org
Ghost versions before 6.20.0 contain a file extension filtering bypass vulnerability that allows unauthenticated attackers to read theme templates and metadata. Attackers can use URL encoding to bypass extension validation and access sensitive theme files.
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-90669
GHSA-v575-g66p-vj84
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB