CVE-2025-2807

8.8 HIGH

📋 TL;DR

This vulnerability allows authenticated WordPress users with Subscriber-level access or higher to install and activate arbitrary plugins on sites running the vulnerable Motors plugin. Attackers can leverage this to achieve remote code execution by installing malicious plugins. All WordPress sites using Motors plugin versions up to 1.4.64 are affected.

💻 Affected Systems

Products:
  • Motors - Car Dealership & Classified Listings Plugin for WordPress
Versions: All versions up to and including 1.4.64
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Requires WordPress installation with the Motors plugin active. Any authenticated user (Subscriber role or higher) can exploit.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Full server compromise through remote code execution via malicious plugin installation, leading to data theft, site defacement, or ransomware deployment.

🟠

Likely Case

Attackers install backdoor plugins to maintain persistent access, steal sensitive data, or use the site for phishing/malware distribution.

🟢

If Mitigated

Limited to authenticated user compromise if proper access controls and monitoring are in place.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires authenticated access but is straightforward once authenticated. The vulnerability is in a publicly accessible AJAX endpoint.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.4.65

Vendor Advisory: https://plugins.trac.wordpress.org/changeset/3262748/motors-car-dealership-classified-listings/trunk/includes/admin/setup-wizard/includes/ajax_actions.php

Restart Required: No

Instructions:

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

🔧 Temporary Workarounds

Disable vulnerable AJAX endpoint

all

Remove or restrict access to the vulnerable mvl_setup_wizard_install_plugin() function

Edit wp-content/plugins/motors-car-dealership-classified-listings/includes/admin/setup-wizard/includes/ajax_actions.php and comment out or remove the vulnerable function

Restrict user capabilities

all

Temporarily remove plugin installation capabilities from Subscriber and other low-privilege roles

Use WordPress role management plugin or add code to functions.php to remove 'install_plugins' capability from affected roles

🧯 If You Can't Patch

  • Immediately disable the Motors plugin completely until patched
  • Implement strict network access controls and monitor for suspicious plugin installation activity

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin panel > Plugins > Installed Plugins for Motors plugin version 1.4.64 or lower

Check Version:

wp plugin list --name=motors-car-dealership-classified-listings --field=version

Verify Fix Applied:

Confirm Motors plugin version is 1.4.65 or higher in WordPress admin

📡 Detection & Monitoring

Log Indicators:

  • WordPress logs showing plugin installations from non-admin users
  • Unexpected plugin activation events in audit logs

Network Indicators:

  • HTTP POST requests to /wp-admin/admin-ajax.php with action=mvl_setup_wizard_install_plugin

SIEM Query:

source="wordpress" AND (event="plugin_install" OR event="plugin_activate") AND user_role!="administrator"

🔗 References

📤 Share & Export