Skip to main content

Ghost CMS CVE-2026-105645

| EUVDEUVD-2026-92635 MEDIUM
Inefficient Regular Expression Complexity (ReDoS) (CWE-1333)
2026-10-05 GitHub_M GHSA-9m4w-fmjw-fvjq
4.9
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

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

  1. Access
    Authenticate as Administrator
  2. Delivery
    Send crafted request to external media inliner
  3. Exploit
    Trigger catastrophic regex backtracking
  4. Execution
    Exhaust CPU / block event loop
  5. Impact
    Ghost server becomes unresponsive

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V2 - Validation and Business Logic Regex complexity limits
MITRE ATT&CK

1 technique across 1 tactic: Impact

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Requires an authenticated Ghost Administrator account (CVSS PR:H) to send a crafted request to the external media inliner feature; the vulnerable code path is the inliner's URL-matching logic that builds unescaped RegExp patterns from domain/directory strings. Exploitation is limited by the Administrator privilege requirement - a non-admin user, anonymous visitor, or default read-only front-end request cannot reach the vulnerable path - so realistic risk is confined to malicious administrators or attackers who have already compromised admin credentials. Affected only on versions 5.37.0 through 6.66.x; 6.67.0 and later are patched.

Impact

This is a genuine but low-priority denial-of-service issue (CWE-1333, inefficient regular expression complexity / ReDoS) rather than a high-impact flaw. The CVSS 3.1 vector (AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H) scores 4.9 Medium, and the single most important mitigating signal is PR:H: exploitation requires existing Administrator access, as stated explicitly in the description. There is no confidentiality or integrity impact (C:N/I:N) - only availability (A:H) via CPU exhaustion of the Node.js event loop. No EPSS score, KEV listing, or POC was provided in the input, so there is no public exploit identified at time of analysis and no evidence of active exploitation. The source-code evidence corroborates the description: the fix (commit 88ae6d6) adds lodash _.escapeRegExp() around directory names used to build RegExp objects and wraps the external media inliner's matchAll() in a V8 vm execution timeout, confirming catastrophic regex backtracking as the root cause. Net assessment: a real defect worth patching, but the admin-only precondition means this is a self-inflicted or insider/compromised-admin risk, not an internet-facing mass-exploitation threat.

Exploit ScenarioDerived

An authenticated Ghost Administrator (or an attacker who has already compromised an admin account) sends a crafted request to the external media inliner containing input that triggers catastrophic regex backtracking. The matchAll() operation consumes excessive CPU, blocking the Node.js event loop and rendering the Ghost server unresponsive to all users. No public proof-of-concept was provided in the input, and the network attack vector is gated entirely by the required Administrator privilege.

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

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

Alert me

AnalysisAIv1 – Oct 05, 2026

Denial of service in Ghost CMS 5.37.0 through 6.66.x allows an authenticated administrator to pin server CPU and render the Ghost instance unresponsive by sending a crafted request to the external media inliner, which compiles attacker-influenced domain strings into unescaped regular expressions (CWE-1333, inefficient regular expression complexity / catastrophic backtracking). Exploitation requires a Ghost Administrator account (CVSS PR:H, AV:N/AC:L/UI:N/S:U/C:N/I:N/A:H, base score 4.9), so realistic risk is confined to malicious or compromised admin accounts rather than anonymous visitors or the read-only front end. No public exploit identified at time of analysis; the vendor fix is contained in Ghost 6.67.0.

RemediationAI

Vendor-released patch: upgrade Ghost to 6.67.0, which is the first fixed release; the correcting change is commit 88ae6d6d56f8a239cb38a8c89de02f034f50e2ce (GitHub Security Advisory GHSA-9m4w-fmjw-fvjq, tracking issue 31058). Where an immediate upgrade is not possible, the most effective compensating control is to remove the attack path by ensuring no untrusted party holds Administrator credentials on the instance - audit and rotate admin accounts, enforce strong unique passwords and MFA on the admin role, and treat the CVSS PR:H requirement as the primary risk limiter, since a non-admin or anonymous request cannot reach the vulnerable media-inliner code path (side effect: no functional loss, but admin-account compromise elsewhere still re-opens the issue). Administrators should also avoid running content imports or external media inlining against content whose embedded domain or directory values come from untrusted sources until the upgrade is applied, accepting the trade-off that legitimate migrations with wildcard-style domain patterns may then fail or require manual cleanup. Because the impact is availability-only, operational monitoring for Node.js CPU saturation and slow or hanging requests during import/inlining operations is a reasonable detective measure, but it does not prevent the denial of service and should not be treated as a substitute for upgrading to 6.67.0.

Affected VersionsENISA

Ghost 5.37.0, < 6.67.0

Affected Packages

npm ghost fix: 6.67.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 flaw is a classic ReDoS (CWE-1333) rooted in how Ghost builds regular expressions from dynamic strings. In the external media inliner (ghost/core/core/server/services/media-inliner/external-media-inliner.js), migration tooling passes domain values that are treated as regex patterns - including wildcard-style patterns such as https?://i[0-9]{1}.wp.com - and these patterns were interpolated directly into new RegExp('^' + domain + '/') and then fed to content.matchAll(regex). Domain or directory values containing regex metacharacters can therefore produce patterns with pathological backtracking behaviour, so a single crafted request forces the Node.js event loop to spend unbounded CPU, starving other requests and making the Ghost server unresponsive. The same unescaped-interpolation pattern existed in several importer handlers (data/importer/handlers/image.js, importer-content-file-handler.js, markdown.js and revue.js). The upstream commit 88ae6d6d56f8a239cb38a8c89de02f034f50e2ce fixes the importer handlers by wrapping start/base directory values in _.escapeRegExp, and hardens the media inliner differently because its patterns must remain regex-capable: matching now runs inside a Node node:vm context via runInContext(..., { timeout: 1000 }), throwing a MEDIA_INLINER_PATTERN_TIMEOUT DataImportError on ERR_SCRIPT_EXECUTION_TIMEOUT. The caller tracks a timedOutDomains set so a pattern that times out once is skipped for the remaining posts instead of repeatedly burning the 1000 ms budget, keeping replacements from other domains intact. Affected CPE coverage is broad and version-open (cpe:2.3:a:tryghost:ghost:*:*:*:*:*:*:*:*), consistent with the advisory covering the 5.37.0 to 6.66.x range.

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.9 MEDIUM
AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H
vuln.today AI 4.9 MEDIUM

Network-reachable admin API with low-complexity crafted input, but requires Administrator privileges (PR:H); only availability is affected via CPU exhaustion (C:N/I:N/A:H).

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

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

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

Lifecycle Timeline

1
Patch available
Oct 05, 2026 - 20:17 EUVD

DescriptionCVE.org

Ghost is a Node.js content management system. From 5.37.0 until 6.67.0, a crafted request to the external media inliner could cause excessive CPU usage, making the Ghost server unresponsive. Exploiting this requires Administrator access. This issue is fixed in version 6.67.0.

Threat Intelligence Overview

EPSS Score
0.3%
Top 76% exploitable
Prevalence
Medium
Popular open-source Node.js CMS, common but not ubiquitous like nginx/Linux
Threat Intel
1
1 source
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 No
EPSS 0.3%
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

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

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

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