Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:N/VI:H/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
Network endpoint with low complexity but requires an authenticated low-privileged account (PR:L); file relocation harms integrity and availability (I:H/A:H) without direct read access (C:N).
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
Lifecycle Timeline
1DescriptionCVE.org
HTMLy CMS through 3.1.1 contains a path traversal vulnerability that allows low-privileged authenticated attackers to relocate arbitrary files by supplying directory traversal sequences in the oldfile parameter at the admin autosave endpoint. Attackers can pass unsanitized traversal sequences directly to file_exists() and rename() functions in admin.php without canonicalization or directory boundary enforcement to cause unintended relocation of any file writable by the web server process to an attacker-specified draft location.
Articles & Coverage 1
AnalysisAI
Arbitrary file relocation in HTMLy CMS through version 3.1.1 allows low-privileged authenticated users to move any web-server-writable file by injecting directory traversal sequences into the oldfile parameter of the admin autosave endpoint. Reported by VulnCheck with publicly available exploit code, the flaw stems from passing unsanitized input directly to file_exists() and rename() in admin.php. It is not listed in CISA KEV, so there is no public exploit identified as actively exploited at time of analysis despite the available POC.
Technical ContextAI
HTMLy (by danpros, CPE cpe:2.3:a:danpros:htmly) is a databaseless flat-file blogging CMS written in PHP that stores content as files on disk rather than in a database, making filesystem operations a core part of its admin workflow. The vulnerability is a classic CWE-22 Path Traversal: the autosave/draft feature in admin.php takes an oldfile parameter naming the file to be renamed to a draft location, but performs no canonicalization (e.g., realpath()) and no directory boundary check before handing the value to PHP's file_exists() and rename() calls. Because rename() operates with the privileges of the web server process and traversal sequences like ../ are honored by the underlying OS, an attacker can escape the intended content/drafts directory and relocate files anywhere the web server can write.
RemediationAI
No vendor-released patch version is identified at time of analysis, so confirm the current fixed release directly with the maintainer via the project's GitHub (danpros/htmly) and the VulnCheck advisory at https://www.vulncheck.com/advisories/htmly-cms-path-traversal-via-oldfile-parameter-in-autosave before deploying. As compensating controls, restrict access to the /admin autosave endpoint at the web server or WAF layer and reject any oldfile parameter value containing ../, ..\, encoded traversal (%2e%2e), or absolute paths - note this can break legitimate draft saving if filtering is too aggressive. Reduce the number of low-privileged authored accounts and avoid granting authoring access to untrusted users, since exploitation requires authentication; this lowers convenience for multi-author sites. Where feas, run the web server process under a least-privilege account and tighten filesystem write permissions on the webroot so a successful rename() cannot reach sensitive files, accepting that overly strict permissions may interfere with HTMLy's flat-file content updates.
In PHP versions 7.1.x below 7.1.33, 7.2.x below 7.2.24 and 7.3.x below 7.3.11 in certain configurations of FPM setup it
sapi/cgi/cgi_main.c in PHP before 5.3.12 and 5.4.x before 5.4.2, when configured as a CGI script (aka php-cgi), does not
(1) boardData102.php, (2) boardData103.php, (3) boardDataJP.php, (4) boardDataNA.php, and (5) boardDataWW.php in Netgear
The '/common/download_agent_installer.php' script in the Quest KACE System Management Appliance 8.0.318 is accessible by
ProjectSend versions prior to r1720 are affected by an improper authentication vulnerability. Rated critical severity (C
Roundcube Webmail contains a critical PHP object deserialization vulnerability (CVE-2025-49113, CVSS 9.9) that allows au
Util/PHP/eval-stdin.php in PHPUnit before 4.8.28 and 5.x before 5.6.3 allows remote attackers to execute arbitrary PHP c
Palo Alto Networks PAN-OS management web interface contains an authentication bypass allowing unauthenticated attackers
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
Nagios XI version xi-5.7.5 is affected by OS command injection. Rated high severity (CVSS 8.8), this vulnerability is re
The get_referers function in /opt/ws/bin/sblistpack in Sophos Web Appliance before 3.7.9.1 and 3.8 before 3.8.1.1 allows
The Backup Migration plugin for WordPress is vulnerable to Remote Code Execution in all versions up to, and including, 1
Same weakness CWE-22 – Path Traversal
View allSame technique Path Traversal
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-39459
GHSA-mhrm-pq8h-qmf3