CVE-2024-9531

4.3 MEDIUM

📋 TL;DR

This vulnerability allows authenticated WordPress users with Subscriber-level access or higher to send unauthorized deactivation requests for arbitrary vendor profiles. Attackers can trigger canned emails to administrators requesting vendor account deletion, potentially disrupting marketplace operations. All WordPress sites using the MultiVendorX plugin up to version 4.2.4 are affected.

💻 Affected Systems

Products:
  • MultiVendorX – The Ultimate WooCommerce Multivendor Marketplace Solution
Versions: All versions up to and including 4.2.4
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Requires WordPress with WooCommerce and the MultiVendorX plugin installed. Any authenticated user (Subscriber role or higher) can exploit this.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Malicious actors systematically request deactivation of all vendors, causing complete marketplace disruption, financial losses, and reputational damage.

🟠

Likely Case

Targeted harassment of specific vendors through repeated deactivation requests, creating administrative burden and potential vendor churn.

🟢

If Mitigated

Administrators receive nuisance emails but recognize them as unauthorized and ignore them, with no actual vendor accounts being disabled.

🌐 Internet-Facing: HIGH
🏢 Internal Only: LOW

🎯 Exploit Status

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

Exploitation requires authenticated access but is trivial once authenticated. The vulnerability is well-documented with code references available.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 4.2.5 or later

Vendor Advisory: https://plugins.trac.wordpress.org/changeset/3173238/dc-woocommerce-multi-vendor/trunk/classes/class-mvx-ajax.php?contextall=1&old=3168957&old_path=%2Fdc-woocommerce-multi-vendor%2Ftrunk%2Fclasses%2Fclass-mvx-ajax.php

Restart Required: No

Instructions:

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

🔧 Temporary Workarounds

Temporarily disable vulnerable function

all

Add capability check to prevent unauthorized access to mvx_sent_deactivation_request function

Edit wp-content/plugins/dc-woocommerce-multi-vendor/classes/class-mvx-ajax.php
Add capability check before line 3780: if (!current_user_can('manage_options')) wp_die();

Restrict user registration

all

Temporarily disable new user registration to prevent new attackers from gaining access

In WordPress admin: Settings → General → Membership → Uncheck 'Anyone can register'

🧯 If You Can't Patch

  • Implement strict user role management and review all Subscriber+ accounts for suspicious activity
  • Monitor administrator email inbox for unusual deactivation requests and implement email filtering rules

🔍 How to Verify

Check if Vulnerable:

Check plugin version in WordPress admin: Plugins → Installed Plugins → MultiVendorX. If version is 4.2.4 or lower, you are vulnerable.

Check Version:

wp plugin list --name='MultiVendorX' --field=version

Verify Fix Applied:

After updating, verify version is 4.2.5 or higher. Test with a Subscriber account that you cannot access the deactivation request functionality.

📡 Detection & Monitoring

Log Indicators:

  • Unusual POST requests to /wp-admin/admin-ajax.php with action=mvx_sent_deactivation_request from non-admin users
  • Multiple deactivation request emails from the same user in short timeframe

Network Indicators:

  • POST requests to admin-ajax.php with vendor_id parameter from non-privileged user accounts

SIEM Query:

source="wordpress.log" AND "admin-ajax.php" AND "mvx_sent_deactivation_request" AND NOT user_role="administrator"

🔗 References

📤 Share & Export