CVE-2021-24620

8.8 HIGH

📋 TL;DR

This vulnerability in the WordPress Simple Ecommerce Shopping Cart Plugin allows administrators to upload arbitrary files, including PHP files, without proper validation. Attackers can exploit this via CSRF attacks to trick logged-in administrators into uploading malicious PHP files, leading to remote code execution. All WordPress sites using vulnerable versions of this plugin are affected.

💻 Affected Systems

Products:
  • WordPress Simple Ecommerce Shopping Cart Plugin - Sell products through Paypal
Versions: Versions up to and including 2.2.5
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Requires plugin to be installed and activated with administrator access.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Full server compromise through remote code execution, allowing attackers to execute arbitrary commands, install malware, steal data, or pivot to other systems.

🟠

Likely Case

Attackers upload web shells to gain persistent access, deface websites, or install cryptocurrency miners.

🟢

If Mitigated

Limited impact with proper file upload restrictions and CSRF protections in place.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires tricking an administrator into performing actions via CSRF.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 2.2.6

Vendor Advisory: https://wpscan.com/vulnerability/1f2b3c4a-f7e9-4d22-b71e-f6b051fd8349

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins > Installed Plugins. 3. Find 'Simple Ecommerce Shopping Cart Plugin - Sell products through Paypal'. 4. Click 'Update Now' if available, or manually update to version 2.2.6 or higher.

🔧 Temporary Workarounds

Disable Plugin

all

Temporarily disable the vulnerable plugin until patched.

Restrict File Uploads

linux

Configure web server to block PHP file execution in upload directories.

# For Apache: Add to .htaccess in upload directory
<Files *.php>
    Order Deny,Allow
    Deny from all
</Files>
# For Nginx: Add to server block
location ~* \.php$ {
    deny all;
}

🧯 If You Can't Patch

  • Remove the plugin entirely if not needed.
  • Implement strict CSRF protection and file upload validation at application level.

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin panel > Plugins > Installed Plugins for plugin version. If version is 2.2.5 or lower, it's vulnerable.

Check Version:

# In WordPress root directory
grep -r "Version:" wp-content/plugins/simple-ecommerce-shopping-cart-plugin/simple-ecommerce-shopping-cart-plugin.php

Verify Fix Applied:

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

📡 Detection & Monitoring

Log Indicators:

  • Unusual file uploads to plugin directories (e.g., .php files in uploads folder)
  • CSRF attempts in web server logs
  • Administrator account performing unexpected upload actions

Network Indicators:

  • HTTP POST requests to plugin upload endpoints with PHP file extensions
  • Unusual outbound connections from web server post-upload

SIEM Query:

source="web_server" AND (uri_path="/wp-admin/admin-ajax.php" OR uri_path CONTAINS "simple-ecommerce-shopping-cart") AND (file_extension=".php" OR method="POST")

🔗 References

📤 Share & Export