Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessObtain Ghost admin credentials
-
DeliveryAuthenticate to Ghost admin API
-
ExploitSubmit export request with path-traversal filename
-
ExecutionGhost writes JSON blob to traversed path
-
PersistOverwrite target filesystem file
-
ImpactIntegrity or availability disrupted
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK
2 techniques across 2 tactics: Discovery, Collection The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation strictly requires a valid Ghost Administrator-level account (PR:H per CVSS); lower-privileged Ghost roles such as Staff, Author, or Contributor cannot access the database export endpoint. The JS backup feature must be in its default enabled state; deployments where an operator has previously set disableJSBackups=true are not exploitable via this vector. The attack is executed remotely over the network (AV:N) with no user interaction required beyond the admin performing the export action. The filesystem impact is bounded by the OS-level permissions of the Ghost process user - typically a dedicated low-privilege service account - which limits which files can actually be overwritten. Ghost instances hosted by Ghost(Pro) are managed by the vendor and are not self-hosted, so the exploitability of that environment is not confirmed from available data. |
| Impact | The CVSS 3.1 vector AV:N/AC:L/PR:H/UI:N/S:C/C:N/I:L/A:L scoring 5.5 accurately reflects the threat profile. The PR:H rating is the dominant risk-limiting factor: exploitation is gated behind a full Ghost Administrator account, which is a high-trust boundary in most deployments. An attacker cannot exploit this vulnerability from an unauthenticated position or as a lower-privileged Ghost role (Staff, Contributor). The Scope:Changed designation is appropriate because a successful exploit writes files outside Ghost's application directory, potentially affecting OS-level files if the Ghost process has sufficient permissions. No EPSS score was provided in the input data; given the PR:H prerequisite and absence from CISA KEV, opportunistic mass exploitation is implausible. The realistic threat is insider misuse, a compromised admin account used for post-exploitation persistence, or a scenario where an attacker achieves admin access through a separate vulnerability and then chains this flaw to overwrite critical files for persistence. The vendor-provided workaround (disableJSBackups=true) completely eliminates the vulnerable code path with minimal operational trade-off for organizations that do not depend on JS export backups. |
| Exploit ScenarioDerived | An attacker who has obtained Ghost Administrator credentials - through credential stuffing, phishing, or a prior compromise - authenticates to the Ghost admin API and invokes the database export endpoint with a crafted filename such as '../../var/spool/cron/ghost' or another path writable by the Ghost process user. Ghost constructs the export path without sanitization and writes the JSON database export to the traversed filesystem location, overwriting the target file. Depending on which file is overwritten and the process permissions, the attacker can corrupt application state, disrupt service availability, or plant a persistence mechanism. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 05, 2026
Path traversal in Ghost's database backup export endpoint allows Administrator-level users to remotely overwrite arbitrary files on the server filesystem, affecting all Ghost installations from version 1.20.1 through v6.54.0 (npm package pkg:npm/ghost). An authenticated admin can supply a crafted export filename containing path separators (e.g., '../../etc/crontab') when triggering a database export, causing Ghost to write the JSON export blob outside the intended directory to an attacker-controlled path. No public exploit code exists and this CVE does not appear in CISA KEV at the time of analysis; however, the CVSS Scope:Changed rating reflects that successful exploitation crosses the application's filesystem boundary, with integrity and availability consequences beyond Ghost's own data directory.
RemediationAI
Upgrade Ghost to v6.54.1 immediately; this is the vendor-confirmed fixed release available at https://github.com/TryGhost/Ghost/releases/tag/v6.54.1. For Docker-based deployments, pull the updated official Ghost image following the guidance at https://docs.ghost.org/install/docker#updating-ghost. For Ghost-CLI installations, follow the standard upgrade procedure documented at https://docs.ghost.org/update. If immediate patching is not feasible, apply the vendor-sanctioned workaround by running 'ghost config set disableJSBackups true && ghost restart', which disables the JS backup feature and eliminates the vulnerable export code path entirely. The trade-off of this workaround is that JavaScript-format database backup exports will be unavailable until the feature is re-enabled after patching. The fix is implemented in patch commit f466c300191a609ed36c8d7c5d1e33ccd440786b.
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 an open-source Node.js content management system distributed as an npm package (pkg:npm/ghost). The vulnerability resides in two files: the database export API controller at ghost/core/core/server/api/endpoints/db.js and the export filename utility at ghost/core/core/server/data/exporter/export-filename.js. The root cause is CWE-22 (Improper Limitation of a Pathname to a Restricted Directory - Path Traversal): the export filename supplied by the API client was appended with a .json extension and used directly as a filesystem write destination without stripping directory-traversal sequences. The patch commit f466c300191a609ed36c8d7c5d1e33ccd440786b introduces two complementary controls: a validation guard in the API endpoint that rejects any filename where path.basename(filename) !== filename, and a normalization call using path.basename() in the filename construction utility. The JS backup feature (controlled by the disableJSBackups configuration flag) is the specific code path that triggers the vulnerable write operation.
Know when Docker 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:C/C:N/I:L/A:L
Full admin credentials required (PR:H); file write crosses app boundary warranting S:C; no data read so C:N; overwrite impact is partial, not total (I:L, A:L).
Primary rating from Vendor (https://github.com/TryGhost/Ghost).
CVSS VectorVendor: https://github.com/TryGhost/Ghost
DescriptionCVE.org
Impact
An Administrator-level user could remotely overwrite certain files on the filesystem leading to integrity and availability issues.
Vulnerable versions
This vulnerability is present in Ghost from 1.20.1 up to v6.54.0.
Patches
v6.54.1 contains a fix for this issue.
How to update
For self-hosters using Docker, find Docker's official Ghost image here. Updating a Docker-based Ghost instance is documented here.
If your Ghost is a Ghost-CLI install see our documentation on updating it to the latest version here.
Workarounds
If upgrading immediately is not possible, set *disableJSBackups* to "true" by running:
$ ghost config set disableJSBackups true
$ ghost restartReferences
Ghost thanks Jorian Woltjer of Aikido Security, Mitchell Benjamin of Revamp Studio, and meifukun for disclosing this vulnerability responsibly.
For more information
If you have any questions or comments about this advisory, email Ghost at [security@ghost.org](mailto:security@ghost.org).
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
Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.
An issue was discovered in Appsmith before 1.52. Rated critical severity (CVSS 9.8), this vulnerability is remotely expl
runc through version 1.0-rc6 (used in Docker before 18.09.2) contains a container escape vulnerability that allows attac
Netmaker makes networks with WireGuard. Rated high severity (CVSS 7.5), this vulnerability is remotely exploitable, no a
Unauthenticated remote code execution in Marimo ≤0.20.4 allows attackers to execute arbitrary system commands via the `/
The News & Blog Designer Pack - WordPress Blog Plugin - (Blog Post Grid, Blog Post Slider, Blog Post Carousel, Blog Post
Path traversal in JFrog Artifactory (CWE-22) enables an authenticated low-privilege user to write data outside the inten
Docker 1.3.2 allows remote attackers to execute arbitrary code with root privileges via a crafted (1) image or (2) build
Remote code execution in Gogs through 0.14.2 allows authenticated users (and unauthenticated attackers on default-config
Unauthenticated remote command injection in SGWBOX N3 firmware 2.0.25 lets attackers execute arbitrary operating-system
Remote code execution in Flowise before 3.1.2 allows any authenticated user (or API caller with chatflow view/update per
Remote code execution in NocoBase Workflow Script Node (npm @nocobase/plugin-workflow-javascript) allows authenticated l
Docker Desktop Community Edition before 2.1.0.1 allows local users to gain privileges by placing a Trojan horse docker-c
EUVD-2026-52974
GHSA-cj62-hvv2-2q5h
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB