CVE-2024-8803

6.1 MEDIUM

📋 TL;DR

This vulnerability allows unauthenticated attackers to inject malicious scripts into WordPress sites using the Bulk NoIndex & NoFollow Toolkit plugin. When users click specially crafted links, the scripts execute in their browsers, potentially stealing credentials or performing unauthorized actions. All WordPress sites with this plugin installed up to version 2.15 are affected.

💻 Affected Systems

Products:
  • WordPress Bulk NoIndex & NoFollow Toolkit plugin
Versions: All versions up to and including 2.15
Operating Systems: All
Default Config Vulnerable: ⚠️ Yes
Notes: Requires WordPress installation with vulnerable plugin version. No special configuration needed.

📦 What is this software?

⚠️ Risk & Real-World Impact

🔴

Worst Case

Attackers steal administrator credentials, take over the WordPress site, deface content, or install backdoors for persistent access.

🟠

Likely Case

Attackers steal user session cookies, redirect users to phishing sites, or perform actions on behalf of authenticated users.

🟢

If Mitigated

Script execution is blocked by browser security features or content security policies, limiting impact to minor UI manipulation.

🌐 Internet-Facing: HIGH
🏢 Internal Only: LOW

🎯 Exploit Status

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

Exploitation requires tricking users into clicking malicious links. No authentication needed.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 2.16

Vendor Advisory: https://plugins.trac.wordpress.org/changeset/3157176/

Restart Required: No

Instructions:

1. Log into WordPress admin panel. 2. Navigate to Plugins → Installed Plugins. 3. Find 'Bulk NoIndex & NoFollow Toolkit'. 4. Click 'Update Now' if available, or download version 2.16+ from WordPress repository. 5. Activate updated plugin.

🔧 Temporary Workarounds

Disable vulnerable plugin

all

Temporarily deactivate the plugin until patched

wp plugin deactivate bulk-noindex-nofollow-toolkit-by-mad-fish

Implement Content Security Policy

all

Add CSP headers to block inline script execution

Add to .htaccess: Header set Content-Security-Policy "script-src 'self'"
Add to nginx config: add_header Content-Security-Policy "script-src 'self'";

🧯 If You Can't Patch

  • Implement web application firewall (WAF) rules to block XSS payloads in URLs
  • Monitor for suspicious URL parameters containing script tags in access logs

🔍 How to Verify

Check if Vulnerable:

Check WordPress admin → Plugins → Installed Plugins for 'Bulk NoIndex & NoFollow Toolkit' version ≤2.15

Check Version:

wp plugin get bulk-noindex-nofollow-toolkit-by-mad-fish --field=version

Verify Fix Applied:

Confirm plugin version is 2.16 or higher in WordPress admin panel

📡 Detection & Monitoring

Log Indicators:

  • URLs containing <script> tags or javascript: protocols in query parameters
  • Multiple 404 errors for unusual plugin-related paths

Network Indicators:

  • HTTP requests with suspicious query parameters containing script payloads

SIEM Query:

source="*access.log*" AND ("bulk-noindex" OR "nofollow-toolkit") AND ("<script" OR "javascript:")

🔗 References

📤 Share & Export