CVE-2024-9018

8.8 HIGH

📋 TL;DR

This vulnerability allows authenticated attackers with Contributor-level access or higher to perform time-based SQL injection attacks via the 'key' parameter in the WP Easy Gallery WordPress plugin. Attackers can extract sensitive information from the database by appending malicious SQL queries. All WordPress sites using WP Easy Gallery plugin versions up to 4.8.5 are affected.

💻 Affected Systems

Products:
  • WP Easy Gallery - WordPress Gallery Plugin
Versions: All versions up to and including 4.8.5
Operating Systems: All operating systems running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Requires authenticated user with at least Contributor role. WordPress multisite installations are also affected.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete database compromise including extraction of user credentials, sensitive content, and potential privilege escalation leading to full site takeover.

🟠

Likely Case

Extraction of sensitive data such as user information, plugin settings, and potentially password hashes from the database.

🟢

If Mitigated

Limited impact if proper input validation and parameterized queries are implemented, restricting data extraction to non-sensitive tables.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ✅ No
Complexity: LOW

Time-based SQL injection requires authentication but is relatively straightforward to exploit given the public vulnerability details.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 4.8.6 or later

Vendor Advisory: https://wordpress.org/plugins/wp-easy-gallery/#developers

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins > Installed Plugins. 3. Find WP Easy Gallery plugin. 4. Click 'Update Now' if update available. 5. If no update available, deactivate and delete plugin, then install fresh version 4.8.6+ from WordPress repository.

🔧 Temporary Workarounds

Disable vulnerable plugin

all

Temporarily deactivate WP Easy Gallery plugin until patched version can be installed

wp plugin deactivate wp-easy-gallery

Restrict user roles

all

Temporarily remove Contributor and higher roles from untrusted users

🧯 If You Can't Patch

  • Implement web application firewall (WAF) rules to block SQL injection patterns targeting the 'key' parameter
  • Apply principle of least privilege by reviewing and minimizing Contributor-level user accounts

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin panel > Plugins > Installed Plugins for WP Easy Gallery version. If version is 4.8.5 or lower, you are vulnerable.

Check Version:

wp plugin get wp-easy-gallery --field=version

Verify Fix Applied:

Verify WP Easy Gallery plugin version is 4.8.6 or higher in WordPress admin panel > Plugins > Installed Plugins.

📡 Detection & Monitoring

Log Indicators:

  • Unusual database queries containing time delay functions like SLEEP(), BENCHMARK(), or WAITFOR DELAY
  • Multiple failed SQL injection attempts from same authenticated user
  • Unusual database access patterns from WordPress application user

Network Indicators:

  • HTTP POST requests to wp-admin/admin-ajax.php with suspicious 'key' parameter values
  • Unusually long response times for specific plugin requests

SIEM Query:

source="wordpress.log" AND "wp-easy-gallery" AND ("key=" OR "admin-ajax.php") AND (SLEEP OR BENCHMARK OR WAITFOR)

🔗 References

📤 Share & Export