Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate to Formwork panel with backup permission
-
DeliveryCraft base64 backslash traversal payload
-
ExploitSubmit to BackupController download/delete
-
Executionbasename bypass escapes backup directory
-
ImpactRead or delete arbitrary file
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 | Requires an authenticated Formwork panel account that has been granted the backup download or backup delete permission (PR:L) - not available to anonymous visitors. The target must be a Linux deployment, because the bypass relies on PHP basename() on Linux not treating the backslash as a directory separator; the exploit uses a base64-encoded, backslash-separated traversal string passed to BackupController's download/delete routes. Limiting factors: the permission requirement, the Linux-specific basename behavior, and the fact that impact is confined to file read and file deletion (no write/code execution). The backup path must be configured (system.backup.path), which is a normal default of the product. |
| Impact | This is a credible but moderate-priority issue rather than an emergency. The vendor-assigned CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:L, 7.1) is internally consistent with the description: network-reachable, low complexity, but requiring an authenticated panel user (PR:L) who already holds backup download or delete permission - a meaningful barrier that keeps this out of the mass-exploitation category. The primary impact is high confidentiality (arbitrary file read, e.g. config files holding credentials/secrets) with a secondary low availability impact (arbitrary file deletion); there is no code execution or integrity write primitive. No EPSS score, CISA KEV listing, POC, or SSVC decision data was provided in the input, so there is no signal of active or probable exploitation - consistent with a recently patched flaw in a niche product. A fix commit (89e7821) is confirmed in the official getformwork/formwork repository and the VulnCheck advisory corroborates the affected-version boundary (before 2.3.13). Note one platform caveat worth verifying operationally: the bypass is described as working specifically on Linux, because PHP's basename() does not treat the backslash as a path separator there, so Windows/other deployments may not be exploitable via the same payload. |
| Exploit ScenarioDerived | An attacker who has obtained a low-privilege Formwork panel account carrying backup download or delete permission (for example a compromised or over-provisioned editor account) crafts a base64-encoded, backslash-separated traversal payload for the backup parameter. On a Linux host, PHP basename() fails to strip the backslash-based traversal, so the request resolves outside the backup directory, letting the attacker read sensitive files such as configuration or credential files, or delete arbitrary files. No public exploit code was identified in the provided data, though the patch diff plainly reveals the vulnerable logic. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 03, 2026
Arbitrary file read and deletion in Formwork panel versions before 2.3.13 affect authenticated users who hold backup download or backup delete permissions. Exploitation requires a Linux deployment, where PHP basename() fails to treat backslashes as directory separators, allowing a base64-encoded backslash-separated traversal payload to escape the configured backup directory. No public exploit code or CISA KEV confirmation was identified at time of analysis, and the impact is confined to file read and deletion with no code execution.
RemediationAI
Upgrade Formwork to 2.3.13 or later, which contains the upstream fix in commit 89e7821a6fcee89474cd401b3dde0c1dccb0687f. If immediate upgrade is not possible, remove backup download and backup delete permissions from all but essential trusted panel accounts; this reduces exposure but does not eliminate risk from an authorized backup administrator. If backup management is not required, disable or block the BackupController download and delete routes, accepting loss of that functionality. PHP open_basedir can constrain filesystem access for the web server user, but it may break legitimate application file operations and must be tested carefully. WAF rules targeting encoded traversal patterns may help but are not reliable because the payload is base64-encoded and bypasses basename()-based checks. Refer to the VulnCheck advisory at https://www.vulncheck.com/advisories/formwork-before-2.3.13-path-traversal-via-backupcontroller-download-and-delete.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
The issue is a CWE-22 path traversal in Formwork's Panel BackupController download and delete routes. User-controlled input arrives through a base64-encoded route parameter named backup; the vulnerable code decoded it, applied basename(), joined it to system.backup.path, and then operated on the resulting file. On Linux, PHP's basename() does not treat the backslash as a directory separator, so a payload using backslashes can survive basename() and be interpreted as traversal by downstream path handling. The upstream fix in commit 89e7821a6fcee89474cd401b3dde0c1dccb0687f replaces basename() with Formwork's Path::basename(), normalizes the backup path with Path::normalize(), and adds a Path::dirname() check to ensure the resolved file's directory still equals the configured backup path before file access. The provided CVSS 4.0 vector is AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:L/SC:N/SI:N/SA:N, and the independent CVSS 3.1 assessment is AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:L, confirming authenticated, remote, low-complexity exploitation with high confidentiality impact and low availability impact.
Know when PHP 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
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:N/VC:H/VI:N/VA:L/SC:N/SI:N/SA:N
Network-reachable panel with low complexity but a required low-privilege authenticated role holding backup permission (PR:L); high confidentiality from arbitrary file read, low availability from file deletion, no integrity write.
Primary rating from Vendor (vulncheck).
CVSS VectorVendor: vulncheck
Lifecycle Timeline
2DescriptionCVE.org
Formwork before 2.3.13 contains a path traversal vulnerability in BackupController that allows authenticated panel users to read or delete arbitrary files. Attackers with backup download or delete permission can supply a base64-encoded backslash-separated traversal payload that bypasses PHP basename on Linux to access files outside the backup directory.
Executive ViewAI
Formwork panel installations running on Linux are exposed to a high-severity flaw (CVE-2026-104478, CVSS 7.1) that allows a user with backup download or backup delete rights to read and destroy files outside the intended backup directory. Because backup stores typically hold configuration files, credentials, and database exports, a single abuse of these permissions could expose sensitive data or permanently remove the recovery artifacts the business depends on after an incident. No public exploit code and no confirmed active exploitation were identified at time of analysis, and the flaw does not permit code execution, so exposure is concentrated in organizations that grant broad backup privileges to panel users.
No vendor-released patch identified at time of analysis; interim mitigations include restricting backup download and delete permissions to a minimal set of administrators, temporarily disabling those backup features, keeping backup directories on read-only or offline storage outside the panel's reach, segmenting Linux-hosted panel instances, applying web application firewall rules that block base64-encoded backslash and traversal payloads in backup requests, monitoring logs for anomalous backup activity, rotating secrets potentially exposed in readable backup files, and upgrading to Formwork panel 2.3.13 or later, which the advisory identifies as the first unaffected release.
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.
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
EUVD-2026-91854
GHSA-4v26-phwj-4v5r
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB