CVE-2024-50420
📋 TL;DR
This vulnerability allows attackers to upload arbitrary files, including web shells, to web servers running the vulnerable aDirectory WordPress plugin. Attackers can achieve remote code execution and full server compromise. All WordPress sites using aDirectory version 1.3 or earlier are affected.
💻 Affected Systems
- WordPress aDirectory Plugin
⚠️ Manual Verification Required
This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.
Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).
🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.
- Review the CVE details at NVD
- Check vendor security advisories for your specific version
- Test if the vulnerability is exploitable in your environment
- Consider updating to the latest version as a precaution
⚠️ Risk & Real-World Impact
Worst Case
Complete server takeover with persistent backdoor installation, data theft, and lateral movement to other systems.
Likely Case
Web shell upload leading to website defacement, data exfiltration, and cryptocurrency mining.
If Mitigated
File upload attempts blocked with proper file type validation and server-side restrictions.
🎯 Exploit Status
Simple HTTP POST request with malicious file upload, often automated by scanning tools.
🛠️ Fix & Mitigation
✅ Official Fix
Patch Version: 1.4 or later
Vendor Advisory: https://patchstack.com/database/vulnerability/adirectory/wordpress-adirectory-plugin-1-3-arbitrary-file-upload-vulnerability?_s_id=cve
Restart Required: No
Instructions:
1. Log into WordPress admin panel. 2. Navigate to Plugins > Installed Plugins. 3. Find aDirectory plugin. 4. Click 'Update Now' if update available. 5. If no update available, deactivate and delete plugin immediately.
🔧 Temporary Workarounds
Web Server File Upload Restrictions
allConfigure web server to block execution of uploaded files in upload directories
# For Apache: Add to .htaccess in upload directory
<FilesMatch "\.(php|php3|php4|php5|phtml|pl|py|jsp|asp|sh|cgi)$">
Order Allow,Deny
Deny from all
</FilesMatch>
# For Nginx: Add to server block
location ~* /wp-content/uploads/.*\.(php|php3|php4|php5|phtml|pl|py|jsp|asp|sh|cgi)$ {
deny all;
}
Disable Plugin
allTemporarily disable the aDirectory plugin until patched
# WordPress CLI
wp plugin deactivate adirectory
# Manual: Rename plugin directory
mv wp-content/plugins/adirectory wp-content/plugins/adirectory.disabled
🧯 If You Can't Patch
- Immediately disable or remove the aDirectory plugin from all WordPress installations.
- Implement web application firewall (WAF) rules to block file uploads to the vulnerable endpoint.
🔍 How to Verify
Check if Vulnerable:
Check WordPress admin panel > Plugins > Installed Plugins for aDirectory version 1.3 or earlier.
Check Version:
wp plugin list --name=adirectory --field=version
Verify Fix Applied:
Verify aDirectory plugin version is 1.4 or later, or confirm plugin is removed/deactivated.
📡 Detection & Monitoring
Log Indicators:
- HTTP POST requests to /wp-content/plugins/adirectory/ upload endpoints
- File uploads with .php, .phtml, or other executable extensions
- Unusual file creation in wp-content/uploads/ directories
Network Indicators:
- POST requests with file uploads to plugin-specific endpoints
- Subsequent requests to uploaded executable files
SIEM Query:
source="web_server" (method="POST" AND uri_path="/wp-content/plugins/adirectory/*" AND content_type="multipart/form-data")