CVE-2024-10589

9.8 CRITICAL

📋 TL;DR

The Leopard WordPress Offload Media plugin has an authorization bypass vulnerability that allows authenticated users with Subscriber-level access or higher to modify WordPress site options. This can be exploited to change the default user registration role to administrator and enable user registration, granting attackers full administrative control. All WordPress sites using this plugin up to version 3.1.1 are affected.

💻 Affected Systems

Products:
  • Leopard - WordPress Offload Media
Versions: All versions up to and including 3.1.1
Operating Systems: Any OS running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: Requires WordPress with the vulnerable plugin installed. Any authenticated user (Subscriber role or higher) can exploit this vulnerability.

⚠️ Manual Verification Required

This CVE does not have specific version information in our database, so automatic vulnerability detection cannot determine if your system is affected.

Why? The CVE database entry doesn't specify which versions are vulnerable (no version ranges provided by the vendor/NVD).

🔒 Custom verification scripts are available for registered users. Sign up free to download automated test scripts.

Recommended Actions:
  1. Review the CVE details at NVD
  2. Check vendor security advisories for your specific version
  3. Test if the vulnerability is exploitable in your environment
  4. Consider updating to the latest version as a precaution

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete site takeover where attackers gain administrative access, can modify content, install malicious plugins/themes, steal data, and use the site for further attacks.

🟠

Likely Case

Attackers create administrative accounts for themselves, then use those accounts to install backdoors, modify site content, or exfiltrate sensitive data.

🟢

If Mitigated

With proper access controls and monitoring, unauthorized option changes would be detected and reverted before significant damage occurs.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

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

Exploitation requires authenticated access but is straightforward once an attacker has any WordPress user account.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 3.1.2 or later

Vendor Advisory: https://codecanyon.net/item/leopard-wordpress-offload-media/23728788

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins. 3. Find 'Leopard - WordPress Offload Media'. 4. Click 'Update Now' if update is available. 5. If no update appears, manually download version 3.1.2+ from CodeCanyon and replace plugin files.

🔧 Temporary Workarounds

Disable plugin

all

Temporarily disable the vulnerable plugin until patched

wp plugin deactivate leopard-wordpress-offload-media

Restrict user registration

all

Disable user registration in WordPress settings to prevent account creation

wp option update users_can_register 0

🧯 If You Can't Patch

  • Remove Subscriber and other low-privilege user accounts or restrict their access
  • Implement web application firewall rules to block requests to the vulnerable import_settings() function

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin panel > Plugins > Leopard - WordPress Offload Media. If version is 3.1.1 or lower, you are vulnerable.

Check Version:

wp plugin get leopard-wordpress-offload-media --field=version

Verify Fix Applied:

After updating, verify plugin version shows 3.1.2 or higher in WordPress plugins list.

📡 Detection & Monitoring

Log Indicators:

  • POST requests to /wp-admin/admin-ajax.php with action=import_settings
  • Unexpected changes to WordPress options like default_role or users_can_register
  • New administrator user creation

Network Indicators:

  • Unusual admin-ajax.php requests from non-admin user accounts
  • Spike in requests to WordPress admin endpoints

SIEM Query:

source="wordpress" AND (uri_path="/wp-admin/admin-ajax.php" AND parameters.action="import_settings") OR (event_type="user_creation" AND user_role="administrator")

🔗 References

📤 Share & Export