CVE-2023-33331

8.5 HIGH

📋 TL;DR

This SQL injection vulnerability in WooCommerce Product Vendors allows attackers to execute arbitrary SQL commands through the vendor admin interface. It affects all WordPress sites using WooCommerce Product Vendors plugin versions up to 2.1.76. Attackers could potentially access, modify, or delete database content.

💻 Affected Systems

Products:
  • WordPress WooCommerce Product Vendors plugin
Versions: All versions up to and including 2.1.76
Operating Systems: All operating systems running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Requires WooCommerce Product Vendors plugin to be installed and vendor admin access to exploit

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete database compromise leading to data theft, privilege escalation, site takeover, or data destruction

🟠

Likely Case

Unauthorized data access, vendor information exposure, and potential privilege escalation within the WooCommerce system

🟢

If Mitigated

Limited impact if proper input validation and database permissions are enforced, though SQL injection attempts would still be logged

🌐 Internet-Facing: HIGH - WordPress sites are typically internet-facing and the vulnerability affects the vendor admin interface
🏢 Internal Only: MEDIUM - Internal-only WordPress installations still vulnerable if vendor admin access is available

🎯 Exploit Status

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

Exploitation requires vendor admin access. SQL injection vulnerabilities are commonly weaponized once details are public.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 2.1.77 and later

Vendor Advisory: https://patchstack.com/database/vulnerability/woocommerce-product-vendors/wordpress-woocommerce-product-vendors-plugin-2-1-76-vendor-admin-sql-injection-vulnerability

Restart Required: No

Instructions:

1. Log into WordPress admin panel
2. Navigate to Plugins → Installed Plugins
3. Find WooCommerce Product Vendors
4. Click 'Update Now' if available
5. Alternatively, download version 2.1.77+ from WordPress.org and manually update

🔧 Temporary Workarounds

Disable vulnerable endpoints

all

Temporarily disable vendor admin functionality until patched

Edit wp-config.php and add: define('DISABLE_VENDOR_ADMIN', true);

Web Application Firewall rules

all

Add SQL injection detection rules to WAF

Add SQL injection detection patterns for vendor admin endpoints

🧯 If You Can't Patch

  • Implement strict input validation and parameterized queries for all vendor admin functions
  • Restrict vendor admin access to trusted IP addresses only

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin → Plugins → WooCommerce Product Vendors → Version. If version is 2.1.76 or lower, you are vulnerable.

Check Version:

wp plugin list --name='woocommerce-product-vendors' --field=version

Verify Fix Applied:

Verify plugin version is 2.1.77 or higher in WordPress admin panel

📡 Detection & Monitoring

Log Indicators:

  • SQL syntax errors in WordPress debug logs
  • Unusual vendor admin activity patterns
  • Multiple failed SQL queries from vendor endpoints

Network Indicators:

  • SQL injection patterns in HTTP requests to /wp-admin/admin-ajax.php or vendor endpoints
  • Unusual database connection patterns

SIEM Query:

source="wordpress.log" AND ("SQL syntax" OR "database error" OR "vendor_admin")

🔗 References

📤 Share & Export