CVE-2024-9586

6.5 MEDIUM

📋 TL;DR

The Linkz.ai WordPress plugin versions up to 1.1.8 contain missing capability checks on the 'check_auth' and 'check_logout' functions, allowing unauthenticated attackers to modify plugin settings. This affects all WordPress sites running vulnerable versions of the Linkz.ai plugin. Attackers can change configuration values without authentication.

💻 Affected Systems

Products:
  • Linkz.ai WordPress Plugin
Versions: All versions up to and including 1.1.8
Operating Systems: Any OS running WordPress
Default Config Vulnerable: ⚠️ Yes
Notes: All WordPress installations with the vulnerable plugin version are affected regardless of configuration.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers could disable security features, redirect traffic to malicious sites, inject malicious code, or compromise the entire WordPress site through plugin configuration manipulation.

🟠

Likely Case

Attackers modify plugin settings to redirect users, inject ads or tracking scripts, or disable functionality, potentially leading to SEO spam, data theft, or site defacement.

🟢

If Mitigated

With proper access controls and monitoring, impact is limited to temporary configuration changes that can be reverted, though some user disruption may occur.

🌐 Internet-Facing: HIGH
🏢 Internal Only: LOW

🎯 Exploit Status

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

The vulnerability is simple to exploit via HTTP requests to the vulnerable endpoints without authentication.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 1.1.9 or later

Vendor Advisory: https://plugins.trac.wordpress.org/browser/linkz-ai/tags/1.1.9/

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins > Installed Plugins. 3. Find Linkz.ai plugin. 4. Click 'Update Now' if available. 5. Alternatively, download version 1.1.9+ from WordPress.org and manually update.

🔧 Temporary Workarounds

Disable vulnerable plugin

all

Temporarily deactivate the Linkz.ai plugin until patched

wp plugin deactivate linkz-ai

Web Application Firewall rule

all

Block requests to vulnerable endpoints

Block HTTP requests containing '/wp-admin/admin-ajax.php?action=check_auth' and '/wp-admin/admin-ajax.php?action=check_logout'

🧯 If You Can't Patch

  • Remove the Linkz.ai plugin entirely from the WordPress installation
  • Implement strict network access controls to limit who can access the WordPress admin-ajax.php endpoint

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin panel > Plugins > Installed Plugins for Linkz.ai version. If version is 1.1.8 or lower, you are vulnerable.

Check Version:

wp plugin list --name=linkz-ai --field=version

Verify Fix Applied:

After updating, verify Linkz.ai plugin shows version 1.1.9 or higher in WordPress admin plugins list.

📡 Detection & Monitoring

Log Indicators:

  • Unusual POST requests to /wp-admin/admin-ajax.php with action=check_auth or action=check_logout from unauthenticated users
  • Multiple failed authentication attempts followed by successful check_auth/check_logout requests

Network Indicators:

  • HTTP traffic to WordPress site containing check_auth or check_logout parameters from unexpected IP addresses
  • Unusual outbound connections after plugin settings changes

SIEM Query:

source="web_logs" AND (uri_path="/wp-admin/admin-ajax.php" AND (query_string="*action=check_auth*" OR query_string="*action=check_logout*")) AND user_agent!="*bot*"

🔗 References

📤 Share & Export