CVE-2024-50420

10.0 CRITICAL

📋 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

Products:
  • WordPress aDirectory Plugin
Versions: n/a through 1.3
Operating Systems: All operating systems running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Affects all WordPress installations with the vulnerable plugin version enabled.

⚠️ 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.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. 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.

🌐 Internet-Facing: HIGH - WordPress plugins are typically internet-facing and this allows unauthenticated file upload.
🏢 Internal Only: MEDIUM - Internal WordPress instances could still be compromised if accessible to internal attackers.

🎯 Exploit Status

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

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

all

Configure 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

all

Temporarily 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")

🔗 References

📤 Share & Export