Skip to main content

Ghost CVE-2026-103276

| EUVDEUVD-2026-90669 MEDIUM
Improper Handling of Alternate Encoding (CWE-173)
2026-10-01 VulnCheck GHSA-v575-g66p-vj84
6.9
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Identify Ghost site before 6.20.0
  2. Delivery
    Craft URL-encoded path to theme file
  3. Exploit
    Bypass extension validation (CWE-173)
  4. Execution
    Server returns restricted template/metadata
  5. Impact
    Read 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.

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 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

Ghost 0 <6.20.0

Affected Packages

euvd ghost fix: 6.20.0

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

Vendor (VulnCheck) PRIMARY 6.9 MEDIUM
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
vuln.today AI 5.3 MEDIUM

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.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

1
Patch available
Oct 01, 2026 - 11:01 EUVD

DescriptionCVE.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

EPSS Score
0.2%
Top 88% exploitable
Prevalence
Medium
Ghost is a popular open-source Node.js publishing/newsletter platform, widely but not universally deployed
Data Quality
5 sources
Confidence: Medium

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 No
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
Yes
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

34
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +34
PoC: 0
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