CVE-2025-5391

8.1 HIGH

📋 TL;DR

The WooCommerce Purchase Orders plugin for WordPress has a vulnerability that allows authenticated users with Subscriber-level access or higher to delete arbitrary files on the server due to insufficient file path validation. This can lead to remote code execution by deleting critical files like wp-config.php. All WordPress sites using this plugin up to version 1.0.2 are affected.

💻 Affected Systems

Products:
  • WooCommerce Purchase Orders WordPress Plugin
Versions: All versions up to and including 1.0.2
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Requires WordPress with WooCommerce and the Purchase Orders plugin installed. Any authenticated user (Subscriber role or higher) can exploit.

⚠️ Manual Verification Required

This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.

Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).

🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. Consider updating to the latest version as a precaution

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete site compromise through remote code execution by deleting wp-config.php or other critical files, leading to data theft, defacement, or server takeover.

🟠

Likely Case

Site disruption or data loss through deletion of important files, potentially causing downtime or content loss.

🟢

If Mitigated

Limited impact if proper file permissions and access controls prevent exploitation, though vulnerability still exists.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: LOW

Exploitation requires authenticated access but is straightforward once authenticated. The vulnerability is well-documented in public sources.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.0.3 or later

Vendor Advisory: https://plugins.trac.wordpress.org/browser/wc-purchase-orders/trunk/

Restart Required: No

Instructions:

1. Update the WooCommerce Purchase Orders plugin to version 1.0.3 or later via WordPress admin panel. 2. Verify the update completed successfully. 3. Test plugin functionality after update.

🔧 Temporary Workarounds

Disable Plugin

all

Temporarily disable the vulnerable plugin until patched

wp plugin deactivate wc-purchase-orders

Restrict User Roles

all

Remove Subscriber and other low-privilege roles from accessing the site

🧯 If You Can't Patch

  • Immediately disable the WooCommerce Purchase Orders plugin
  • Implement strict file permissions (e.g., 644 for files, 755 for directories) and monitor for unauthorized file deletion attempts

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin panel for plugin version. If WooCommerce Purchase Orders plugin is installed and version is 1.0.2 or lower, it's vulnerable.

Check Version:

wp plugin get wc-purchase-orders --field=version

Verify Fix Applied:

Verify plugin version is 1.0.3 or higher in WordPress admin panel and test plugin functionality.

📡 Detection & Monitoring

Log Indicators:

  • Unusual file deletion events in WordPress or web server logs
  • Multiple failed login attempts followed by file deletion requests

Network Indicators:

  • HTTP POST requests to plugin endpoints with file deletion parameters

SIEM Query:

source="wordpress.log" AND "delete_file" AND NOT "wp-content/uploads"

🔗 References

📤 Share & Export