Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as Ghost administrator
-
DeliveryCraft content import file with malicious directory names
-
ExploitUpload import to trigger regex backtracking
-
ExecutionEvent loop saturates CPU
-
ImpactGhost server becomes unresponsive (DoS)
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 (CVSS PR:H) who can submit a content import file through Ghost's import feature; the attacker crafts file/directory path names so that the importer's path-prefix regex (built via unescaped |
| Impact | This is a genuinely low-to-moderate priority issue despite being a server-availability flaw. The CVSS 3.1 vector (AV:N/AC:L/PR:H/UI:N/S:U/C:N/I:N/A:H, base 4.9 Medium) is the most important signal: exploitation requires PR:H - Administrator access to the Ghost instance - which is confirmed by both the vector and the description ('Exploiting this requires Administrator access'). An attacker who is already a full administrator can typically disrupt the service through many legitimate means, so the marginal risk added by this CWE-1333 (inefficient regular expression / ReDoS) denial-of-service is limited. Impact is availability-only (C:N/I:N); there is no code execution, data exposure, or integrity loss. No EPSS score was supplied, and there is no CISA KEV listing and no public exploit code referenced - so exploitation status is 'no public exploit identified at time of analysis.' No SSVC decision data was provided. The signals are internally consistent (no conflicts between vector and description), so the main caveat is simply that the high-privilege precondition makes this far less urgent than the network attack vector alone might suggest. |
| Exploit ScenarioDerived | A malicious or compromised Ghost administrator uploads a crafted content import archive in which directory/path names are constructed to trigger catastrophic regex backtracking in the importer's path-matching handlers. Processing the import pins the Node.js event loop at high CPU, rendering the Ghost server unresponsive to all users until the process is restarted. No public exploit code was identified, but the fixing PR (#31058) reveals the vulnerable unescaped |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 05, 2026
A denial-of-service condition in Ghost CMS affects versions 4.0.0 through 6.66.x, where a crafted content import file can drive catastrophic regular-expression backtracking and pin the Node.js event loop, leaving the server unresponsive. The vulnerability is only reachable by an authenticated Ghost Administrator (CVSS PR:H) who submits a malicious import through the built-in content import feature, so the practical risk is limited to environments where admin credentials are already compromised or misused. No public exploit code has been identified at time of analysis and there is no confirmed active exploitation (no CISA KEV listing); vendor-released patch: 6.67.0.
RemediationAI
Upgrade Ghost to 6.67.0 or later (vendor-released patch: 6.67.0), which escapes imported directory names with lodash _.escapeRegExp in the image, markdown, revue and content-file import handlers and bounds the external media inliner's regex evaluation with a V8 execution timeout; the change is carried by https://github.com/TryGhost/Ghost/commit/88ae6d6d56f8a239cb38a8c89de02f034f50e2ce and PR https://github.com/TryGhost/Ghost/pull/31058, with advisory details at https://github.com/TryGhost/Ghost/security/advisories/GHSA-fwh9-qg68-vxp4. Where immediate upgrading is not possible, the attacker precondition is an authenticated Administrator, so the most effective compensating control is access control rather than code change: restrict Admin API access to trusted networks or VPN (side effect: remote/editorial staff lose direct admin access until they connect through the tunnel), enforce strong MFA and audit Administrator accounts to eliminate shared or stale admin credentials (side effect: account-recovery friction), and constrain who may run content imports. Because the blocking happens on Node's single-threaded event loop, fronting Ghost with a reverse proxy that enforces per-connection and total timeouts (e.g. nginx proxy_read_timeout) can shorten the client-visible outage, but it will not stop the event loop from stalling other users - the trade-off is a hard ceiling on long-running legitimate imports. Running Ghost under a process manager with automatic restart (systemd, pm2) restores availability faster after a stall at the cost of a brief service interruption, and rate-limiting import endpoints reduces repeat-trigger abuse. These measures are temporary mitigations only; the authoritative fix is the 6.67.0 upgrade.
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
The root cause is CWE-1333 (Inefficient Regular Expression Complexity), a classic regular-expression denial-of-service (ReDoS) pattern in Node.js. Ghost's data importer builds path-prefix matchers with unescaped user-influenced strings - for example new RegExp('^' + dir + '/') - in the image, markdown, revue, and importer-content-file handlers, so a crafted import whose file or directory names contain regex metacharacters can construct a pathological pattern that backtracks exponentially against a long input. Because Node.js runs JavaScript on a single-threaded event loop, a single catastrophic match blocks request processing and stalls the entire Ghost instance, producing an availability-only impact (CVSS C:N/I:N/A:H). The corresponding fix commit (88ae6d6d...) wraps directory names with lodash's _.escapeRegExp before interpolation, and additionally hardens the external media inliner - which legitimately accepts regex-style domain patterns such as https?://i[0-9]{1}.wp.com - by evaluating matchAll inside a node:vm context with a 1000 ms V8 execution timeout and skipping any domain pattern that times out (MEDIA_INLINER_PATTERN_TIMEOUT) so remaining posts can still be processed. The CVSS vector AV:N/AC:L/PR:H/UI:N confirms a network-reachable, low-complexity attack that nonetheless requires high privileges and no user interaction.
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:H/UI:N/S:U/C:N/I:N/A:H
Import is submitted over the network (AV:N) and crafting the backtracking input is deterministic (AC:L), but it requires administrator privileges (PR:H); impact is availability-only (A:H, C:N/I:N).
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
Ghost is a Node.js content management system. From 4.0.0 until 6.67.0, a crafted content import file 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
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
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
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-92636
GHSA-fwh9-qg68-vxp4
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB