CVE-2021-24537
📋 TL;DR
This vulnerability allows high-privilege WordPress users (administrators/editors) to execute arbitrary PHP code via the Similar Posts plugin widget settings. It bypasses WordPress hardening measures like DISALLOW_FILE_EDIT and DISALLOW_FILE_MODS. Only WordPress sites using the vulnerable plugin are affected.
💻 Affected Systems
- WordPress Similar Posts plugin
📦 What is this software?
Similar Posts by Shareaholic
⚠️ Risk & Real-World Impact
Worst Case
Complete site compromise leading to data theft, malware installation, defacement, or use as attack platform
Likely Case
Privileged user executes malicious code to modify content, steal data, or create backdoors
If Mitigated
Limited impact if proper user access controls restrict high-privilege accounts
🎯 Exploit Status
Exploitation requires authenticated high-privilege user access
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 3.1.6 or later
Vendor Advisory: https://wpscan.com/vulnerability/0d6b46cb-5244-486f-ad70-4023907ac9eb
Restart Required: No
Instructions:
1. Update Similar Posts plugin to version 3.1.6 or later via WordPress admin panel. 2. Verify update completed successfully. 3. Test widget functionality.
🔧 Temporary Workarounds
Disable plugin
allTemporarily disable Similar Posts plugin until patched
wp plugin deactivate similar-posts
Restrict user privileges
allLimit number of users with administrator/editor roles
🧯 If You Can't Patch
- Remove Similar Posts plugin completely
- Implement strict user access controls and monitor administrator activities
🔍 How to Verify
Check if Vulnerable:
Check WordPress admin panel > Plugins > Similar Posts version. If version is 3.1.5 or earlier, system is vulnerable.
Check Version:
wp plugin get similar-posts --field=version
Verify Fix Applied:
Confirm Similar Posts plugin version is 3.1.6 or later in WordPress admin panel.
📡 Detection & Monitoring
Log Indicators:
- Unusual PHP execution in widget settings
- Administrator modifying similar-posts widget configurations
- POST requests to /wp-admin/widgets.php with PHP code
Network Indicators:
- HTTP POST requests containing PHP code to widget endpoints
SIEM Query:
source="wordpress.log" AND "widget_rrm_similar_posts_condition" AND ("eval" OR "base64_decode" OR "system")