CVE-2020-36847

9.8 CRITICAL

📋 TL;DR

This vulnerability allows unauthenticated attackers to rename uploaded PHP files with .png extensions to .php extensions, enabling remote code execution on WordPress servers. It affects Simple-File-List Plugin versions up to and including 4.2.2. Any WordPress site using the vulnerable plugin is at risk of complete server compromise.

💻 Affected Systems

Products:
  • WordPress Simple-File-List Plugin
Versions: Up to and including 4.2.2
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Requires the plugin to be installed and active. No special configuration needed for exploitation.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete server takeover with attacker gaining full control, installing backdoors, stealing data, and using the server for further attacks.

🟠

Likely Case

Website defacement, data theft, malware deployment, and use as a foothold for lateral movement within the network.

🟢

If Mitigated

Limited impact if proper file upload restrictions and web application firewalls are in place, though risk remains significant.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploit code is publicly available and requires minimal technical skill to execute.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 4.2.3 and later

Vendor Advisory: https://plugins.trac.wordpress.org/changeset/2286920/simple-file-list

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins → Installed Plugins. 3. Find Simple-File-List and click 'Update Now'. 4. Verify version is 4.2.3 or higher.

🔧 Temporary Workarounds

Disable Plugin

all

Temporarily disable the Simple-File-List plugin until patched

wp plugin deactivate simple-file-list

Restrict File Uploads

all

Block .php file uploads via web server configuration

# Apache: Add to .htaccess
<FilesMatch "\.php$">
    Order Allow,Deny
    Deny from all
</FilesMatch>
# Nginx: Add to server block
location ~ \.php$ {
    deny all;
}

🧯 If You Can't Patch

  • Immediately disable the Simple-File-List plugin
  • Implement web application firewall rules to block requests to rename.php endpoints

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin panel → Plugins → Simple-File-List. If version is 4.2.2 or lower, you are vulnerable.

Check Version:

wp plugin get simple-file-list --field=version

Verify Fix Applied:

Verify plugin version is 4.2.3 or higher in WordPress admin panel.

📡 Detection & Monitoring

Log Indicators:

  • POST requests to /wp-content/plugins/simple-file-list/includes/ee-upload-engine.php with rename parameters
  • File rename operations from .png to .php extensions in upload directories

Network Indicators:

  • Unusual outbound connections from web server following file rename operations
  • Traffic patterns matching known exploit payloads

SIEM Query:

source="web_logs" AND (uri="*ee-upload-engine.php*" AND method="POST" AND params="*rename*" AND params="*.png*" AND params="*.php*")

🔗 References

📤 Share & Export