CVE-2021-24906

7.5 HIGH

📋 TL;DR

The Protect WP Admin WordPress plugin before version 3.6.2 contains an authorization bypass vulnerability in the lib/pwa-deactivate.php file. Unauthenticated attackers can send crafted requests to disable the plugin, removing its security protections. This affects all WordPress sites running vulnerable versions of the plugin.

💻 Affected Systems

Products:
  • Protect WP Admin WordPress plugin
Versions: All versions before 3.6.2
Operating Systems: All operating systems running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: All WordPress installations with the vulnerable plugin version are affected regardless of configuration.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers disable the plugin's security features, then exploit other vulnerabilities that were previously blocked, potentially leading to complete site compromise.

🟠

Likely Case

Attackers disable the plugin's protection, then perform unauthorized actions that the plugin was designed to prevent, such as accessing restricted admin areas.

🟢

If Mitigated

With proper network controls and monitoring, the impact is limited to temporary plugin disruption until detected and restored.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires only a simple HTTP request to the vulnerable endpoint without authentication.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 3.6.2

Vendor Advisory: https://wpscan.com/vulnerability/4204682b-f657-42e1-941c-bee7a245e9fd

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins. 3. Find Protect WP Admin plugin. 4. Update to version 3.6.2 or later. 5. Verify update completed successfully.

🔧 Temporary Workarounds

Block access to vulnerable endpoint

all

Add web server rules to block access to the lib/pwa-deactivate.php file

# For Apache: add to .htaccess
<Files "pwa-deactivate.php">
    Order Allow,Deny
    Deny from all
</Files>
# For Nginx: add to server block
location ~* /lib/pwa-deactivate\.php$ {
    deny all;
    return 403;
}

🧯 If You Can't Patch

  • Disable or remove the Protect WP Admin plugin entirely
  • Implement network-level WAF rules to block requests to the vulnerable endpoint

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin panel > Plugins > Protect WP Admin version. If version is below 3.6.2, you are vulnerable.

Check Version:

# In WordPress admin panel, navigate to Plugins page and check Protect WP Admin version

Verify Fix Applied:

Confirm plugin version is 3.6.2 or higher in WordPress admin panel.

📡 Detection & Monitoring

Log Indicators:

  • HTTP requests to /wp-content/plugins/protect-wp-admin/lib/pwa-deactivate.php
  • Plugin deactivation events in WordPress logs without admin authentication

Network Indicators:

  • POST/GET requests to pwa-deactivate.php endpoint from unauthenticated sources

SIEM Query:

source="web_server" AND (uri="*pwa-deactivate.php" OR message="*Protect WP Admin*deactivated*")

🔗 References

📤 Share & Export