CVE-2024-1205
📋 TL;DR
This vulnerability allows authenticated WordPress users with subscriber-level access or higher to upload arbitrary files to the server due to missing file type validation in the WooCommerce Management App plugin. This can lead to remote code execution by uploading malicious files like PHP shells. All WordPress sites using the vulnerable plugin are affected.
💻 Affected Systems
- Management App for WooCommerce – Order notifications, Order management, Lead management, Uptime Monitoring WordPress plugin
📦 What is this software?
Wemanage by Wemanage
⚠️ Risk & Real-World Impact
Worst Case
Full server compromise via remote code execution, allowing attackers to steal data, install malware, or pivot to other systems.
Likely Case
Attackers upload web shells to gain persistent access, deface websites, or deploy cryptocurrency miners.
If Mitigated
File uploads blocked or contained, limiting impact to denial of service or temporary file storage issues.
🎯 Exploit Status
Exploitation requires authenticated access but is straightforward once credentials are obtained.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 1.2.1 or later
Vendor Advisory: https://plugins.trac.wordpress.org/browser/wemanage-app-worker/trunk/readme.txt
Restart Required: No
Instructions:
1. Log into WordPress admin panel. 2. Navigate to Plugins > Installed Plugins. 3. Find 'Management App for WooCommerce' and click 'Update Now'. 4. Verify version is 1.2.1 or higher.
🔧 Temporary Workarounds
Disable plugin
allTemporarily deactivate the vulnerable plugin until patched.
wp plugin deactivate wemanage-app-worker
Restrict file uploads via .htaccess
linuxBlock execution of uploaded files in the uploads directory.
Add to .htaccess in wp-content/uploads: <Files *.php> deny from all </Files>
🧯 If You Can't Patch
- Remove subscriber and higher role access from untrusted users.
- Implement web application firewall rules to block suspicious file uploads.
🔍 How to Verify
Check if Vulnerable:
Check plugin version in WordPress admin under Plugins > Installed Plugins. If version is 1.2.0 or lower, it's vulnerable.
Check Version:
wp plugin get wemanage-app-worker --field=version
Verify Fix Applied:
Confirm plugin version is 1.2.1 or higher after update.
📡 Detection & Monitoring
Log Indicators:
- Unusual file uploads to /wp-content/uploads/ via POST requests to admin-ajax.php or REST API endpoints
- Files with double extensions like .php.jpg
Network Indicators:
- HTTP POST requests with file uploads to plugin-specific endpoints from unexpected IPs
SIEM Query:
source="web_logs" AND (uri_path="/wp-admin/admin-ajax.php" OR uri_path CONTAINS "/wp-json/") AND method="POST" AND (user_agent CONTAINS "curl" OR user_agent CONTAINS "wget")
🔗 References
- https://plugins.trac.wordpress.org/browser/wemanage-app-worker/trunk/includes/class-nouvello-wemanage-worker-api-wc-ext-controller-functions.php#L982
- https://plugins.trac.wordpress.org/browser/wemanage-app-worker/trunk/includes/class-nouvello-wemanage-worker-api-wc-ext-controller.php#L166
- https://www.wordfence.com/threat-intel/vulnerabilities/id/a4219c10-9d2a-429d-9ac7-61efc02bd4cf?source=cve
- https://plugins.trac.wordpress.org/browser/wemanage-app-worker/trunk/includes/class-nouvello-wemanage-worker-api-wc-ext-controller-functions.php#L982
- https://plugins.trac.wordpress.org/browser/wemanage-app-worker/trunk/includes/class-nouvello-wemanage-worker-api-wc-ext-controller.php#L166
- https://www.wordfence.com/threat-intel/vulnerabilities/id/a4219c10-9d2a-429d-9ac7-61efc02bd4cf?source=cve