CVE-2021-24866

9.8 CRITICAL

📋 TL;DR

This SQL injection vulnerability in the WP Data Access WordPress plugin allows attackers to delete arbitrary database tables by exploiting unsanitized backup_date parameter input. It affects WordPress sites running WP Data Access plugin versions before 5.0.0. Attackers can execute malicious SQL commands through the vulnerable parameter.

💻 Affected Systems

Products:
  • WP Data Access WordPress Plugin
Versions: All versions before 5.0.0
Operating Systems: All operating systems running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Affects all WordPress installations with vulnerable plugin versions installed and activated.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete database destruction leading to site unavailability, data loss, and potential privilege escalation if system tables are deleted.

🟠

Likely Case

Selective table deletion causing partial data loss, site functionality disruption, and potential downtime.

🟢

If Mitigated

No impact if proper input validation and parameterized queries are implemented.

🌐 Internet-Facing: HIGH - WordPress sites are typically internet-facing and the vulnerability requires no authentication.
🏢 Internal Only: MEDIUM - Internal WordPress installations could still be exploited by internal threat actors or through compromised accounts.

🎯 Exploit Status

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

SQL injection via backup_date parameter requires no authentication and has simple exploitation vectors.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 5.0.0 and later

Vendor Advisory: https://wordpress.org/plugins/wp-data-access/#developers

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins → Installed Plugins. 3. Find WP Data Access plugin. 4. Click 'Update Now' if available. 5. Alternatively, download version 5.0.0+ from WordPress repository and manually update.

🔧 Temporary Workarounds

Disable vulnerable plugin

all

Temporarily deactivate WP Data Access plugin until patched version can be installed.

wp plugin deactivate wp-data-access

Web Application Firewall rule

all

Block requests containing SQL injection patterns targeting backup_date parameter.

🧯 If You Can't Patch

  • Implement strict input validation for all user-supplied parameters
  • Add database backup and restore procedures to minimize data loss impact

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin → Plugins → WP Data Access → Version number. If version is below 5.0.0, system is vulnerable.

Check Version:

wp plugin get wp-data-access --field=version

Verify Fix Applied:

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

📡 Detection & Monitoring

Log Indicators:

  • Unusual SQL DELETE statements in database logs
  • Multiple failed backup operations with malformed dates
  • Web server logs showing requests with SQL injection patterns in backup_date parameter

Network Indicators:

  • HTTP POST requests to wp-admin/admin-ajax.php with SQL payloads in parameters
  • Unusual database connection patterns from web server

SIEM Query:

source="web_server_logs" AND (uri="*/admin-ajax.php" OR uri="*/wp-admin/*") AND (param="backup_date" AND value MATCH "[';]|UNION|DELETE|DROP")

🔗 References

📤 Share & Export