CVE-2021-25087

7.5 HIGH

📋 TL;DR

The Download Manager WordPress plugin before version 3.2.35 has REST API endpoints without proper authorization checks, allowing unauthenticated attackers to access sensitive information. This affects WordPress sites using vulnerable versions of the plugin, potentially exposing post passwords and file master keys.

💻 Affected Systems

Products:
  • WordPress Download Manager plugin
Versions: All versions before 3.2.35
Operating Systems: Any OS running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Affects WordPress sites with the Download Manager plugin installed and activated. The vulnerability exists in default configurations.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could steal sensitive data including post passwords and file master keys, leading to unauthorized access to protected content and potential further compromise of the WordPress site.

🟠

Likely Case

Unauthenticated attackers accessing sensitive information like post passwords and file master keys, potentially enabling unauthorized downloads or content access.

🟢

If Mitigated

With proper authorization controls, only authenticated users with appropriate permissions can access the REST API endpoints, preventing information disclosure.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ⚠️ Yes
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

The vulnerability is straightforward to exploit as it requires no authentication and involves simple API calls to vulnerable endpoints.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 3.2.35

Vendor Advisory: https://wpscan.com/vulnerability/d7ceafae-65ec-4e05-9ed1-59470771bf07

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins > Installed Plugins. 3. Find 'Download Manager' plugin. 4. Click 'Update Now' if available, or download version 3.2.35+ from WordPress repository. 5. Activate the updated plugin.

🔧 Temporary Workarounds

Disable vulnerable REST endpoints

all

Temporarily disable the vulnerable REST API endpoints until patching is possible

Add to WordPress theme functions.php or custom plugin: add_filter('rest_authentication_errors', 'disable_vulnerable_endpoints'); function disable_vulnerable_endpoints($result) { if (strpos($_SERVER['REQUEST_URI'], '/wp-json/wpdm/') !== false) { return new WP_Error('rest_forbidden', 'Unauthorized', array('status' => 403)); } return $result; }

Disable plugin

linux

Temporarily deactivate the Download Manager plugin

wp plugin deactivate download-manager

🧯 If You Can't Patch

  • Implement web application firewall rules to block unauthenticated requests to /wp-json/wpdm/* endpoints
  • Restrict access to WordPress REST API endpoints using IP whitelisting or authentication requirements

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin panel > Plugins > Installed Plugins for Download Manager version. If version is below 3.2.35, the site is vulnerable.

Check Version:

wp plugin list --name=download-manager --field=version

Verify Fix Applied:

After updating, verify the plugin version shows 3.2.35 or higher in WordPress admin panel. Test that unauthenticated requests to /wp-json/wpdm/ endpoints return proper authorization errors.

📡 Detection & Monitoring

Log Indicators:

  • Multiple 200 OK responses to /wp-json/wpdm/* endpoints from unauthenticated users
  • Unusual access patterns to REST API endpoints

Network Indicators:

  • Unauthenticated HTTP requests to /wp-json/wpdm/* endpoints
  • Increased traffic to WordPress REST API from suspicious IPs

SIEM Query:

source="wordpress.log" AND (uri_path="/wp-json/wpdm/*" AND response_code=200 AND user="-")

🔗 References

📤 Share & Export