CVE-2023-23737

9.3 CRITICAL

📋 TL;DR

This vulnerability allows unauthenticated attackers to execute arbitrary SQL commands on WordPress sites using the MainWP Broken Links Checker Extension plugin version 4.0 or earlier. Attackers can potentially read, modify, or delete database content, affecting all WordPress installations with this vulnerable plugin.

💻 Affected Systems

Products:
  • MainWP Broken Links Checker Extension for WordPress
Versions: <= 4.0
Operating Systems: All platforms running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Affects all WordPress installations with the vulnerable plugin version, regardless of configuration.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete database compromise leading to data theft, site defacement, privilege escalation, or full system takeover if database credentials allow file system access.

🟠

Likely Case

Data exfiltration (user credentials, sensitive content), database manipulation, or installation of backdoors for persistent access.

🟢

If Mitigated

Limited impact with proper input validation, parameterized queries, and database user privilege restrictions in place.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

SQL injection vulnerabilities are commonly weaponized, and this requires no authentication.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: > 4.0

Vendor Advisory: https://patchstack.com/database/vulnerability/mainwp-broken-links-checker-extension/wordpress-mainwp-broken-links-checker-extension-plugin-4-0-unauthenticated-sql-injection-vulnerability?_s_id=cve

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins > Installed Plugins. 3. Find 'MainWP Broken Links Checker Extension'. 4. Click 'Update Now' if available, or manually install latest version. 5. Verify plugin version is > 4.0.

🔧 Temporary Workarounds

Disable vulnerable plugin

all

Temporarily disable the plugin until patched

wp plugin deactivate mainwp-broken-links-checker-extension

Web Application Firewall (WAF)

all

Deploy WAF rules to block SQL injection patterns

🧯 If You Can't Patch

  • Implement strict input validation and parameterized queries in custom code
  • Restrict database user privileges to minimum required permissions

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin panel > Plugins > Installed Plugins for 'MainWP Broken Links Checker Extension' version <= 4.0

Check Version:

wp plugin get mainwp-broken-links-checker-extension --field=version

Verify Fix Applied:

Confirm plugin version is > 4.0 in WordPress admin panel

📡 Detection & Monitoring

Log Indicators:

  • Unusual SQL queries in database logs
  • Multiple failed login attempts from single IP
  • Unexpected plugin file modifications

Network Indicators:

  • HTTP requests with SQL syntax in parameters
  • Traffic to plugin-specific endpoints from unauthenticated sources

SIEM Query:

source="web_server" AND (url="*mainwp*" OR url="*broken-links*" OR url="*blc*") AND (param="*SELECT*" OR param="*UNION*" OR param="*INSERT*" OR param="*DELETE*")

🔗 References

📤 Share & Export