CVEReports
CVEReports

Automated vulnerability intelligence platform. Comprehensive reports for high-severity CVEs generated by AI.

Product

  • Home
  • Sitemap
  • RSS Feed

Company

  • About
  • Contact
  • Privacy Policy
  • Terms of Service

© 2026 CVEReports. All rights reserved.

Made with love by Amit Schendel & Alon Barad



CVE-2026-70592

CVE-2026-70592: Path Traversal Vulnerability in Ghost CMS Database Exporter

Amit Schendel
Amit Schendel
Senior Security Researcher

Aug 5, 2026·5 min read·33 visits

Executive Summary (TL;DR)

An authenticated path traversal vulnerability in Ghost CMS database export functionality allows arbitrary file writing on the server hosting the application, fixed in version 6.54.1.

A path traversal vulnerability (CWE-22) in Ghost CMS versions 1.20.1 through 6.54.0 allows authenticated administrators to escape the backup directory and perform arbitrary file write operations on the hosting system. This vulnerability was resolved in version 6.54.1.

Vulnerability Overview

CVE-2026-70592 defines a path traversal vulnerability within the database backup and export utility of Ghost CMS, an open-source Node.js-based content management system. This security flaw affects Ghost CMS deployments from version 1.20.1 up to but excluding version 6.54.1. The issue allows an authenticated user with administrative privileges to write or overwrite files outside of the application's designated backup folder.

The vulnerability is located in the administration interface, which is responsible for managing application states and database backups. The application accepts user-supplied parameters to define output archives during backup procedures. This exposed interface allows input to be processed directly by file write operations without structural validation.

Because administrative interfaces are typically exposed to authorized managers over HTTP, exploitation poses a threat to the integrity and availability of the underlying server. An attacker can write to arbitrary locations, leading to application configuration corruption or potential code execution depending on system-level configuration parameters. This vulnerability is cataloged as CWE-22 (Improper Limitation of a Pathname to a Restricted Directory).

Root Cause Analysis

The root cause of CVE-2026-70592 lies in the database export controller processing user-supplied path components without validating or removing directory separator characters. Specifically, the module located at ghost/core/core/server/data/exporter/export-filename.js processes requests by reading a custom filename option directly from client input.

When administrators request a database export, they can specify a custom filename. In vulnerable versions, this parameter is concatenated directly with the .json extension without checking for the presence of path navigation characters. Consequently, path traversal inputs such as ../ are interpreted literally by the underlying operating system filesystem APIs.

When the Node.js standard libraries or stream writers write the database export dump to the disk, they resolve these relative paths relative to the application's root directory. This allows the written file to escape the restricted destination directory. Because the application does not validate that the computed target path resides within the backup folder, file writes are executed at the resolved destination. Triggering the vulnerability requires only an authenticated administrative session and a crafted API invocation.

Code-Level Patch Analysis

The vulnerability was resolved in commit f466c300191a609ed36c8d7c5d1e33ccd440786b by introducing strict validation inside the endpoint handler and sanitizing input parameters inside the database exporter module.

The comparison below highlights the changes introduced to validate the filename parameter inside the administrative API endpoint:

// In ghost/core/core/server/api/endpoints/db.js (Patched Code)
const filename = frame.options.filename;
if (filename && path.basename(filename) !== filename) {
    throw new errors.ValidationError({message: 'Export filename must not contain path separators'});
}

Additionally, the exporter utility was updated to prevent directory navigation sequences from reaching filesystem routines:

// In ghost/core/core/server/data/exporter/export-filename.js (Vulnerable Code)
if (options.filename) {
    return options.filename + '.json';
}
 
// In ghost/core/core/server/data/exporter/export-filename.js (Patched Code)
if (options.filename) {
    return path.basename(options.filename) + '.json';
}

This double-layered correction blocks malformed filenames at the API gateway layer and strips directory navigation sequences inside the core filesystem interaction layer.

Exploitation Dynamics & Mechanics

Exploitation of CVE-2026-70592 requires administrative privileges within the target Ghost CMS instance. No complex configuration settings or specialized environments are necessary. The primary attack vector involves sending an authenticated POST request containing path navigation characters to the backup API endpoint.

An attacker constructs a request targeting /ghost/api/admin/db/backup/ with the query parameter filename containing relative path indicators, such as ../../../../config.production. The application processes this value and initiates a file creation routine targeting the resolved path with a .json extension appended.

POST /ghost/api/admin/db/backup/?filename=../../../../config.production HTTP/1.1
Host: ghost-target.local
Authorization: Bearer [JWT_TOKEN]
Content-Type: application/json
Connection: close

The resulting request triggers a write operation that places a JSON representation of the database at the target path, such as /var/www/ghost/config.production.json. This overwrite action allows attackers to disrupt services or alter configuration details on the local filesystem.

System Impact & Threat Modeling

The impact of CVE-2026-70592 is classified as Medium, represented by a CVSS v3.1 score of 5.5. The scope metric is set to Changed because the application flaw enables write operations that escape the application context, modifying elements of the hosting system's filesystem directly.

Attackers can overwrite critical files such as config.production.json, modifying database connection strings, email configurations, or storage adapters. This level of manipulation can induce persistent Denial of Service or divert system communications to external destinations controlled by the attacker.

If the Ghost CMS daemon runs with elevated permissions on the host system, the impact may extend to other system-level folders. Overwriting Node.js dependency structures or configuration files in the wider environment can crash the main service thread or execute modified code when the process restarts. The overall severity depends heavily on filesystem write permissions assigned to the Ghost application process.

Remediation & Defense-in-Depth

The recommended remediation for CVE-2026-70592 is to upgrade the Ghost CMS instance to version 6.54.1 or later. This release contains the necessary input checking logic to block path traversal sequences during the API request life cycle.

If an immediate upgrade is not feasible, administrators can disable JS-based backups entirely to mitigate exposure. This is done by modifying the application configuration to deactivate the database backup module.

{
  "disableJSBackups": true
}

Administrators can also apply this workaround by setting the environment variable disableJSBackups to true. Furthermore, running Ghost under a strict least-privilege system user account restricts write capabilities to specified directories, preventing system-wide configuration tampering.

Fix Analysis (1)

Technical Appendix

CVSS Score
5.5/ 10
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:C/C:N/I:L/A:L
12,000
via Shodan

Affected Systems

Ghost CMS

Affected Versions Detail

Product
Affected Versions
Fixed Version
Ghost
TryGhost
>= 1.20.1, < 6.54.16.54.1
AttributeDetail
CWE IDCWE-22
Attack VectorNetwork
CVSS v3.1 Score5.5
EPSS ScoreN/A
ImpactArbitrary File Write / Overwrite
Exploit StatusNone / Conceptual
CISA KEV StatusNot Listed

MITRE ATT&CK Mapping

T1083File and Directory Discovery
Discovery
T1005Data from Local System
Collection
CWE-22
Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')

Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')

Vulnerability Timeline

Security patch committed to Ghost repository
2026-07-15
Ghost version 6.54.1 released
2026-08-04
Advisory CVE-2026-70592 published
2026-08-04

References & Sources

  • [1]GitHub Security Advisory GHSA-cj62-hvv2-2q5h
  • [2]Official Fix Commit f466c30
  • [3]Ghost Release v6.54.1
  • [4]NVD CVE-2026-70592 Record
  • [5]CVE.org Record

Attack Flow Diagram

Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.
Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.

More Reports

•25 minutes ago•CVE-2026-107212
7.5

CVE-2026-107212: CPU Exhaustion Denial of Service via Look-Ahead Row Parsing in Excelize

An algorithmic complexity vulnerability (CWE-770) in the Excelize library allows remote attackers to cause resource exhaustion (100% CPU usage) via a crafted Microsoft Excel spreadsheet. This occurs because the look-ahead row index parsing in Rows.Columns() fails to enforce upper boundary limits, enabling an out-of-bounds row index to trigger an infinite seek loop inside the Rows iterator.

Alon Barad
Alon Barad
2 views•6 min read
•about 1 hour ago•CVE-2026-105647
4.0

CVE-2026-105647: Server-Side Request Forgery via Favicon Probing in Ghost CMS

An unauthenticated Server-Side Request Forgery (SSRF) vulnerability exists in Ghost CMS from version 6.54.1 to 6.65.0. The vulnerability stems from a validation bypass in the favicon resolution logic within the bookmark-fetching subsystem, which allows remote, unauthenticated attackers to trigger arbitrary HTTP requests to the local host and internal networks. This bypass circumvents the custom DNS-level IP blocklist controls configured globally in the application.

Alon Barad
Alon Barad
2 views•8 min read
•about 2 hours ago•CVE-2026-106450
5.3

CVE-2026-106450: Denial of Service via Eager Resource Allocation in lz4-java LZ4FrameInputStream

A resource allocation vulnerability (CWE-770) in lz4-java before version 1.11.4 allows an unauthenticated remote attacker to trigger CPU exhaustion and high garbage collection overhead by streaming empty concatenated LZ4 frames.

Alon Barad
Alon Barad
4 views•8 min read
•about 3 hours ago•CVE-2026-106449
3.7

CVE-2026-106449: Stack Overflow via Uncontrolled Recursion in yawkat lz4-java

A Denial of Service (DoS) vulnerability exists in the yawkat fork of lz4-java prior to version 1.11.4. Under specific non-default configurations (stopOnEmptyBlock = false), parsing crafted streams with a large sequence of contiguous empty LZ4 blocks triggers uncontrolled recursion inside the LZ4BlockInputStream.refill() method, causing stack exhaustion and thread termination.

Alon Barad
Alon Barad
3 views•6 min read
•about 4 hours ago•CVE-2026-76485
9.8

CVE-2026-76485: Remote Code Execution in Cisco NX-OS VXLAN OAM (NGOAM)

CVE-2026-76485 is a critical stack-based buffer overflow vulnerability in the VXLAN OAM (NGOAM) parsing component of Cisco NX-OS Software. The flaw enables an unauthenticated, remote attacker to execute arbitrary code with root privileges or trigger a denial of service on affected Nexus switches. This vulnerability is triggered through crafted packets sent to an IP interface. No workarounds are currently available to mitigate the vulnerability while preserving the NGOAM functionality. Cisco has published software patches to address this flaw.

Alon Barad
Alon Barad
6 views•6 min read
•about 4 hours ago•CVE-2026-106451
7.3

CVE-2026-106451: Local Privilege Escalation via JNI Extraction TOCTOU in lz4-java

A local privilege escalation and code execution vulnerability exists in the yawkat fork of lz4-java when extracting its bundled JNI shared library into the system temporary directory. Predictable path derivation and lack of exclusive file creation flags allow a local attacker to hijack library loading via a race condition.

Alon Barad
Alon Barad
6 views•6 min read