CVE-2024-13553

9.8 CRITICAL

📋 TL;DR

This vulnerability allows unauthenticated attackers to bypass authentication and take over any user account, including administrators, in the SMS Alert Order Notifications WooCommerce plugin for WordPress. Attackers can spoof the Host header to trigger a development environment mode that accepts a hardcoded OTP code. All WordPress sites using this plugin are affected.

💻 Affected Systems

Products:
  • SMS Alert Order Notifications - WooCommerce WordPress plugin
Versions: All versions up to and including 3.7.9
Operating Systems: Any OS running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Requires the plugin to be installed and activated. No special configuration needed.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete site compromise with administrative access, data theft, malware installation, and defacement.

🟠

Likely Case

Administrative account takeover leading to data exfiltration, plugin/theme manipulation, and backdoor installation.

🟢

If Mitigated

Limited impact if strong network controls prevent external access, but internal attackers could still exploit.

🌐 Internet-Facing: HIGH - Public WordPress sites are directly exploitable without authentication.
🏢 Internal Only: HIGH - Internal attackers can exploit this without authentication if they can reach the WordPress instance.

🎯 Exploit Status

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

Exploitation requires only HTTP request manipulation with a spoofed Host header.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 3.8.0 and later

Vendor Advisory: https://plugins.trac.wordpress.org/changeset/3248017/sms-alert

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins → Installed Plugins. 3. Find 'SMS Alert Order Notifications - WooCommerce'. 4. Click 'Update Now' if available. 5. If manual update needed, download version 3.8.0+ from WordPress.org and replace plugin files.

🔧 Temporary Workarounds

Disable plugin

all

Temporarily disable the vulnerable plugin until patched

wp plugin deactivate sms-alert

Web server Host header validation

linux

Configure web server to validate or restrict Host header values

# Apache: Use mod_headers to restrict Host headers
# Nginx: Use $host variable validation in config

🧯 If You Can't Patch

  • Implement WAF rules to block requests with spoofed Host headers targeting the plugin endpoints
  • Restrict network access to WordPress admin interface using IP whitelisting

🔍 How to Verify

Check if Vulnerable:

Check plugin version in WordPress admin under Plugins → Installed Plugins. If version is 3.7.9 or lower, you are vulnerable.

Check Version:

wp plugin get sms-alert --field=version

Verify Fix Applied:

Verify plugin version is 3.8.0 or higher. Test authentication endpoints with spoofed Host header should no longer accept '1234' OTP.

📡 Detection & Monitoring

Log Indicators:

  • Multiple failed login attempts followed by successful login with OTP '1234'
  • Requests with unusual Host header values to /wp-admin/admin-ajax.php or plugin endpoints

Network Indicators:

  • HTTP requests with manipulated Host headers to WordPress sites
  • Unusual authentication patterns from single IPs

SIEM Query:

source="web_logs" AND (uri_path="*sms-alert*" OR uri_path="*wp-admin/admin-ajax.php*") AND (http_host!="expected_domain.com" OR response_code=200 AND user_agent="*curl*" OR user_agent="*python*" OR user_agent="*wget*")

🔗 References

📤 Share & Export