Skip to main content

Ghost CMS CVE-2026-70592

| EUVDEUVD-2026-52974 MEDIUM
Path Traversal (CWE-22)
2026-08-04 https://github.com/TryGhost/Ghost GHSA-cj62-hvv2-2q5h
5.5
CVSS 3.1 · Vendor: https://github.com/TryGhost/Ghost
View

Attack ChainAIDerived

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

  1. Access
    Obtain Ghost admin credentials
  2. Delivery
    Authenticate to Ghost admin API
  3. Exploit
    Submit export request with path-traversal filename
  4. Execution
    Ghost writes JSON blob to traversed path
  5. Persist
    Overwrite target filesystem file
  6. Impact
    Integrity 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.

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

Ghost 1.20.1, < 6.54.1

Affected Packages

npm ghost fix: 6.54.1

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

Vendor (https://github.com/TryGhost/Ghost) PRIMARY 5.5 MEDIUM
AV:N/AC:L/PR:H/UI:N/S:C/C:N/I:L/A:L
vuln.today AI 5.5 MEDIUM

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

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

Primary rating from Vendor (https://github.com/TryGhost/Ghost).

CVSS VectorVendor: https://github.com/TryGhost/Ghost

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

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:

sh
$ ghost config set disableJSBackups true
$ ghost restart

References

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

EPSS Score
0.3%
Top 78% exploitable
Prevalence
Medium
popular open-source Node.js CMS, smaller footprint than WordPress
Threat Intel
1
1 sources
Exploit
POC
Public exploit code exists
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA GitHub VulDB

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

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

Attack Technique

Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.

More in Docker

View all
CVE-2024-55964 CRITICAL POC
9.8 Mar 26

An issue was discovered in Appsmith before 1.52. Rated critical severity (CVSS 9.8), this vulnerability is remotely expl

CVE-2019-5736 HIGH POC
8.6 Feb 11

runc through version 1.0-rc6 (used in Docker before 18.09.2) contains a container escape vulnerability that allows attac

CVE-2023-32077 HIGH POC
7.5 Aug 24

Netmaker makes networks with WireGuard. Rated high severity (CVSS 7.5), this vulnerability is remotely exploitable, no a

CVE-2026-39987 CRITICAL POC
9.3 Apr 08

Unauthenticated remote code execution in Marimo ≤0.20.4 allows attackers to execute arbitrary system commands via the `/

CVE-2023-5815 HIGH POC
8.1 Nov 22

The News & Blog Designer Pack - WordPress Blog Plugin - (Blog Post Grid, Blog Post Slider, Blog Post Carousel, Blog Post

CVE-2026-66384 MEDIUM POC
5.3 Aug 12

Path traversal in JFrog Artifactory (CWE-22) enables an authenticated low-privilege user to write data outside the inten

CVE-2014-9357 CRITICAL
10.0 Dec 16

Docker 1.3.2 allows remote attackers to execute arbitrary code with root privileges via a crafted (1) image or (2) build

CVE-2026-52806 CRITICAL POC
9.9 Jun 23

Remote code execution in Gogs through 0.14.2 allows authenticated users (and unauthenticated attackers on default-config

CVE-2025-14707 HIGH POC
8.9 Dec 15

Unauthenticated remote command injection in SGWBOX N3 firmware 2.0.25 lets attackers execute arbitrary operating-system

CVE-2026-56274 HIGH POC
8.7 Jun 23

Remote code execution in Flowise before 3.1.2 allows any authenticated user (or API caller with chatflow view/update per

CVE-2026-34156 CRITICAL POC
9.9 Mar 30

Remote code execution in NocoBase Workflow Script Node (npm @nocobase/plugin-workflow-javascript) allows authenticated l

CVE-2019-15752 HIGH POC
7.8 Aug 28

Docker Desktop Community Edition before 2.1.0.1 allows local users to gain privileges by placing a Trojan horse docker-c

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy