WooCommerce Purchase Orders <= 1.0.2 - Authenticated (Subscriber+) Arbitrary File Deletion
Strategic Overview
- Status
- Patched in 1.0.3
- Affected Plugin
- Purchase Orders for WooCommerce
- Affected Version
<= 1.0.2- CVSS
- 8.1High
- Weakness type
- CWE-22 · Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')
- CVE
CVE-2025-5391
At a glance
CVE-2025-5391 is a high-severity Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal') vulnerability in the Purchase Orders for WooCommerce WordPress plugin, affecting versions <= 1.0.2. It carries a CVSS score of 8.1 (reachable over the network; low attack complexity; high integrity, availability impact). Exploitation requires an authenticated account at Subscriber level or above. The issue is fixed in version 1.0.3; sites on affected versions should update now. Disclosed August 2025, reported by CVE_hunter.
Vulnerability Overview
The WooCommerce Purchase Orders plugin for WordPress is vulnerable to arbitrary file deletion due to insufficient file path validation in the delete_file() function in all versions up to, and including, 1.0.2. This makes it possible for authenticated attackers, with Subscriber-level access and above, to delete arbitrary files on the server, which can easily lead to remote code execution when the right file is deleted (such as wp-config.php).
Technical Analysis
The vector marks this flaw as remotely reachable over the network, with low attack complexity — no special timing or configuration is needed, and no interaction from a victim user. A successful exploit has high impact on integrity, availability.
CWE-22: Improper Limitation of a Pathname to a Restricted Directory ('Path Traversal')
Purchase Orders for WooCommerce <= 1.0.2 carries this weakness at delete_file(), and reaching it takes an account at Subscriber level or above. Path traversal happens when user-controlled text is used to build a filesystem path without being constrained to an intended directory, so sequences like ../ walk the resolved path somewhere else.
Depending on the operation, it means reading files outside the intended folder — wp-config.php being the usual target — or writing to and deleting paths the web server can touch. For Purchase Orders for WooCommerce the fix is 1.0.3: builds <= 1.0.2 are affected, anything from 1.0.3 onward is not.
Remediation
Update to version 1.0.3, or a newer patched version
How does WordSec protect against this?
An attacker needs Subscriber access first, so the firewall sees the attempt as traffic from a logged-in account: WordSec's web application firewall inspects request payloads before WordPress loads them. None of that substitutes for the fix: Purchase Orders for WooCommerce 1.0.3 closes this, and updating the plugin is the step that ends it.
- Firewall
- Alerts
External References
Vulnerability data © Defiant, Inc., provided under the Wordfence Intelligence T&C