CVE-2021-4381

9.8 CRITICAL

📋 TL;DR

The uListing WordPress plugin up to version 1.6.6 has an authorization bypass vulnerability that allows unauthenticated attackers to modify any WordPress option in the database. This occurs due to missing capability checks and security nonces in the import_new_layout method. Any WordPress site using the vulnerable uListing plugin is affected.

💻 Affected Systems

Products:
  • WordPress uListing Plugin
Versions: All versions up to and including 1.6.6
Operating Systems: Any OS running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Only affects WordPress installations with uListing plugin enabled.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete site takeover: attackers could modify critical WordPress options like admin credentials, site URL, or enable remote code execution plugins.

🟠

Likely Case

Site defacement, data manipulation, or installation of backdoors through WordPress option modification.

🟢

If Mitigated

Limited impact with proper network segmentation and web application firewalls blocking unauthorized requests.

🌐 Internet-Facing: HIGH - The vulnerability is remotely exploitable without authentication.
🏢 Internal Only: MEDIUM - Internal attackers could still exploit, but external threat surface is reduced.

🎯 Exploit Status

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

Simple HTTP POST requests can trigger the vulnerability without authentication.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.6.7 and later

Vendor Advisory: https://plugins.trac.wordpress.org/changeset?sfp_email=&sfph_mail=&reponame=&old=2456786%40ulisting&new=2456786%40ulisting

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins → Installed Plugins. 3. Find uListing plugin and click 'Update Now'. 4. Verify version is 1.6.7 or higher.

🔧 Temporary Workarounds

Disable uListing Plugin

all

Temporarily deactivate the vulnerable plugin until patched.

wp plugin deactivate ulisting

Web Application Firewall Rule

all

Block requests to the vulnerable endpoint.

Block POST requests to */wp-json/ulisting/v1/import-layout*

🧯 If You Can't Patch

  • Implement strict network access controls to limit who can access the WordPress admin interface.
  • Enable WordPress security plugins that monitor for unauthorized option changes.

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin → Plugins → Installed Plugins for uListing version. If version is 1.6.6 or lower, you are vulnerable.

Check Version:

wp plugin get ulisting --field=version

Verify Fix Applied:

After updating, confirm uListing version is 1.6.7 or higher in WordPress admin panel.

📡 Detection & Monitoring

Log Indicators:

  • Unusual POST requests to /wp-json/ulisting/v1/import-layout from unauthenticated users
  • Unexpected WordPress option changes in database logs

Network Indicators:

  • HTTP POST requests to import-layout endpoint without authentication headers

SIEM Query:

source="web_server" AND (uri_path="/wp-json/ulisting/v1/import-layout" OR user_agent="*ulisting*") AND http_method="POST"

🔗 References

📤 Share & Export