CVE-2022-0783

9.8 CRITICAL

📋 TL;DR

This vulnerability allows unauthenticated attackers to execute arbitrary SQL commands on WordPress sites using the Multiple Shipping Address Woocommerce plugin. Attackers can steal sensitive data, modify database content, or potentially gain administrative access. All WordPress sites with the vulnerable plugin version are affected.

💻 Affected Systems

Products:
  • Multiple Shipping Address Woocommerce WordPress Plugin
Versions: All versions before 2.0
Operating Systems: Any OS running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Requires WordPress with WooCommerce installed. Vulnerability is present in default plugin configuration.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete database compromise leading to data theft, site defacement, backdoor installation, and potential server takeover through privilege escalation.

🟠

Likely Case

Data exfiltration of user information, order details, and potentially administrative credentials leading to site compromise.

🟢

If Mitigated

Limited impact with proper network segmentation, database user privilege restrictions, and web application firewall rules blocking SQL injection patterns.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

SQL injection via AJAX endpoints requires no authentication. Exploitation is straightforward with publicly available proof-of-concept code.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 2.0 and later

Vendor Advisory: https://wpscan.com/vulnerability/4d594424-8048-482d-b61c-45be1e97a8ba

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins → Installed Plugins. 3. Find 'Multiple Shipping Address Woocommerce'. 4. Click 'Update Now' if available. 5. If no update appears, manually download version 2.0+ from WordPress repository and replace plugin files.

🔧 Temporary Workarounds

Disable vulnerable AJAX endpoints

all

Block access to the vulnerable AJAX actions via .htaccess or web server configuration

# Add to .htaccess for Apache:
RewriteCond %{QUERY_STRING} action=msawoo_ [NC]
RewriteRule .* - [F,L]

Web Application Firewall rule

all

Implement WAF rules to block SQL injection patterns targeting the vulnerable plugin endpoints

# Example ModSecurity rule:
SecRule ARGS_GET:action "@rx msawoo_" \
"id:1001,phase:2,deny,status:403,msg:'Blocking Multiple Shipping Address plugin SQLi attempt'"

🧯 If You Can't Patch

  • Immediately disable or uninstall the Multiple Shipping Address Woocommerce plugin
  • Implement strict network access controls to limit exposure of the WordPress site

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin panel → Plugins → Multiple Shipping Address Woocommerce → Version number. If version is below 2.0, the site is vulnerable.

Check Version:

wp plugin list --name='Multiple Shipping Address Woocommerce' --field=version

Verify Fix Applied:

Confirm plugin version is 2.0 or higher in WordPress admin panel and test that the AJAX endpoints no longer accept malicious SQL payloads.

📡 Detection & Monitoring

Log Indicators:

  • HTTP requests to /wp-admin/admin-ajax.php with 'action' parameter containing 'msawoo_' and SQL injection patterns
  • Unusual database queries from web application user
  • Multiple failed login attempts following SQL injection attempts

Network Indicators:

  • Unusual outbound database connections from web server
  • Traffic patterns showing SQL error messages in responses

SIEM Query:

source="web_logs" AND uri="/wp-admin/admin-ajax.php" AND query="*action=msawoo_*" AND (query="*UNION*" OR query="*SELECT*" OR query="*INSERT*" OR query="*UPDATE*" OR query="*DELETE*")

🔗 References

📤 Share & Export