CVE-2021-4340

9.8 CRITICAL

📋 TL;DR

The uListing WordPress plugin contains an SQL injection vulnerability in versions up to 1.6.6 that allows unauthenticated attackers to execute arbitrary SQL queries. This can lead to data theft, including sensitive information from the database. All WordPress sites using vulnerable uListing plugin versions are affected.

💻 Affected Systems

Products:
  • WordPress uListing plugin
Versions: Versions up to and including 1.6.6
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Requires WordPress with uListing plugin installed and active.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete database compromise including admin credentials, sensitive user data, and potential remote code execution via database functions.

🟠

Likely Case

Data exfiltration of WordPress user credentials, plugin data, and potentially sensitive site information.

🟢

If Mitigated

Limited impact with proper WAF rules and database permissions restricting query execution.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

SQL injection via 'listing_id' parameter requires no authentication and has public proof-of-concept available.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.6.7 and later

Vendor Advisory: https://wordpress.org/plugins/ulisting/#developers

Restart Required: No

Instructions:

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

🔧 Temporary Workarounds

WAF Rule Implementation

all

Implement web application firewall rules to block SQL injection patterns in 'listing_id' parameter

Plugin Deactivation

linux

Temporarily deactivate uListing plugin until patched

wp plugin deactivate ulisting

🧯 If You Can't Patch

  • Implement strict input validation for 'listing_id' parameter to only accept numeric values
  • Apply database-level protections: restrict database user permissions, enable query logging

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin → Plugins → Installed Plugins for uListing version ≤1.6.6

Check Version:

wp plugin get ulisting --field=version

Verify Fix Applied:

Confirm uListing plugin version is 1.6.7 or higher in WordPress admin

📡 Detection & Monitoring

Log Indicators:

  • Unusual SQL queries in database logs
  • Multiple requests with SQL-like patterns in 'listing_id' parameter

Network Indicators:

  • HTTP requests with SQL injection payloads in parameters
  • Unusual database connection patterns from web server

SIEM Query:

web.url:*listing_id* AND (web.url:*UNION* OR web.url:*SELECT* OR web.url:*INSERT* OR web.url:*UPDATE* OR web.url:*DELETE*)

🔗 References

📤 Share & Export