CVE-2024-8803
📋 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
- WordPress Bulk NoIndex & NoFollow Toolkit plugin
📦 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.
🎯 Exploit Status
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
allTemporarily deactivate the plugin until patched
wp plugin deactivate bulk-noindex-nofollow-toolkit-by-mad-fish
Implement Content Security Policy
allAdd 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
- https://plugins.trac.wordpress.org/browser/bulk-noindex-nofollow-toolkit-by-mad-fish/trunk/inc/bulk-noindex-toolkit-class.php?rev=3047303#L452
- https://plugins.trac.wordpress.org/changeset/3157176/
- https://www.wordfence.com/threat-intel/vulnerabilities/id/d6e1cc0d-2c5f-4e34-bd19-d7c90cd4dff6?source=cve