CVE-2024-9829
📋 TL;DR
The Download Plugin for WordPress has missing capability checks that allow authenticated attackers with Subscriber-level access or higher to download any comment and access user metadata including PII, hashed passwords, and session tokens. This affects all WordPress sites using Download Plugin versions up to and including 2.2.0.
💻 Affected Systems
- WordPress Download Plugin
📦 What is this software?
Download Plugin by Metagauss
⚠️ Risk & Real-World Impact
Worst Case
Attackers could exfiltrate all user data including hashed passwords and session tokens, leading to account takeovers, credential stuffing attacks, and complete site compromise.
Likely Case
Attackers download user metadata containing email addresses, usernames, and potentially hashed passwords, enabling targeted phishing campaigns and credential attacks.
If Mitigated
With proper access controls and monitoring, impact is limited to unauthorized data access without system compromise.
🎯 Exploit Status
Exploitation requires authenticated access but is straightforward once authenticated. The vulnerability is well-documented with code references available.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 2.2.1
Vendor Advisory: https://plugins.trac.wordpress.org/changeset/3170600/
Restart Required: No
Instructions:
1. Log into WordPress admin panel
2. Navigate to Plugins → Installed Plugins
3. Find 'Download Plugin' and click 'Update Now'
4. Verify version is 2.2.1 or higher
🔧 Temporary Workarounds
Disable Download Plugin
allTemporarily deactivate the vulnerable plugin until patched
wp plugin deactivate download-plugin
Restrict User Registration
allDisable new user registration to limit potential attackers
Settings → General → Membership: Uncheck 'Anyone can register'
🧯 If You Can't Patch
- Implement strict network access controls to limit WordPress admin access to trusted IPs only
- Enable detailed logging of all plugin activity and user data access attempts
🔍 How to Verify
Check if Vulnerable:
Check WordPress admin panel → Plugins → Installed Plugins → Download Plugin version
Check Version:
wp plugin get download-plugin --field=version
Verify Fix Applied:
Verify Download Plugin version is 2.2.1 or higher in WordPress admin
📡 Detection & Monitoring
Log Indicators:
- Unusual download requests to dpwap_handle_download_user or dpwap_handle_download_comment endpoints
- Multiple user metadata access attempts from single accounts
- Subscriber-level users accessing admin functions
Network Indicators:
- HTTP POST requests to /wp-admin/admin-ajax.php with action parameters containing dpwap_handle_download
- Unusual data exfiltration patterns from WordPress instances
SIEM Query:
source="wordpress" AND (uri_path="/wp-admin/admin-ajax.php" AND action="dpwap_handle_download_*")
🔗 References
- https://plugins.trac.wordpress.org/browser/download-plugin/trunk/download-plugin.php#L242
- https://plugins.trac.wordpress.org/browser/download-plugin/trunk/download-plugin.php#L262
- https://plugins.trac.wordpress.org/browser/download-plugin/trunk/download-plugin.php#L335
- https://plugins.trac.wordpress.org/changeset/3170600/
- https://www.wordfence.com/threat-intel/vulnerabilities/id/e0891211-e4b3-4dcf-8ee0-e20abeb91640?source=cve