CVE-2025-5391

WooCommerce Purchase Orders <= 1.0.2 - Authenticated (Subscriber+) Arbitrary File Deletion

2025-08-11 13:49
CVE_hunter

Strategic Overview

Status
Patched in 1.0.3
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
View all Purchase Orders for WooCommerce vulnerabilities

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