Skip to main content

Blackhole For Bad Bots EUVDEUVD-2026-16102

| CVE-2026-4329 HIGH
Cross-site Scripting (XSS) (CWE-79)
2026-03-26 Wordfence
7.2
CVSS 3.1 · NVD
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Send HTTP request with malicious User-Agent header
  2. Delivery
    Plugin sanitizes but fails to escape entities
  3. Exploit
    Malicious payload stored in database
  4. Execution
    Administrator views Bad Bots log
  5. Impact
    Stored XSS executes in admin browser

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Execution

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

The Blackhole for Bad Bots WordPress plugin versions up to 3.8 must be installed and activated. An unauthenticated attacker sends a crafted User-Agent HTTP header containing XSS payload. When a WordPress administrator views the Bad Bots log page, the stored malicious payload executes in their browser.

Impact

The CVSS score of 7.2 (HIGH) reflects the network attack vector (AV:N), low complexity (AC:L), and no required privileges (PR:N), though it requires administrator interaction (UI:N appears incorrect; UI:R would be more accurate as admin must view the log page). The Changed scope (S:C) indicates the vulnerability can affect resources beyond its original security context. Despite the high CVSS score, real-world risk is moderated by several factors: exploitation requires an administrator to actively view the Bad Bots log page, limiting automatic exploitation potential; the attacker must first trigger the bot detection mechanism by accessing the honeypot URL; and the impact is confined to the administrative context rather than affecting site visitors. The vulnerability is well-documented with multiple source code references provided by Wordfence, and a patch changeset (3487350) is available in the WordPress plugin repository. No EPSS score or KEV listing was provided, suggesting limited evidence of active exploitation in the wild. This represents a legitimate security concern for sites using the plugin, particularly those with multiple administrators or where admin sessions might be hijacked, but it's not an emergency-level threat requiring immediate offline remediation.

Exploit ScenarioDerived

An unauthenticated attacker crafts a malicious User-Agent header containing JavaScript payload (such as a double-quote to break out of an HTML attribute followed by an onclick handler or script tag) and sends HTTP requests to the WordPress site, intentionally triggering the Blackhole bot detection mechanism by accessing the honeypot URL. When a WordPress administrator later logs into the admin panel and navigates to the Bad Bots log page to review detected bots, the stored malicious script executes in their browser context, potentially allowing the attacker to steal admin session cookies, create new administrative accounts, modify site content, or install malicious plugins. Given the network-accessible attack vector and low complexity, this could be automated against multiple WordPress sites running the vulnerable plugin.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
No patch listed yet 0.1% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Mar 26, 2026

The Blackhole for Bad Bots plugin for WordPress contains a Stored Cross-Site Scripting vulnerability that allows unauthenticated attackers to inject malicious scripts through the User-Agent HTTP header. All versions up to and including 3.8 are affected. The vulnerability stems from insufficient output escaping when displaying bot data in the admin interface, enabling arbitrary JavaScript execution when administrators view the Bad Bots log page.

RemediationAI

Update the Blackhole for Bad Bots plugin to version 3.8.1 or later, which implements proper output escaping as documented in changeset 3487350 available at https://plugins.trac.wordpress.org/changeset?sfp_email=&sfph_mail=&reponame=&old=3487350%40blackhole-bad-bots&new=3487350%40blackhole-bad-bots&sfp_email=&sfph_mail=. The patch adds esc_attr() calls for data rendered in HTML attributes and esc_html() for content rendered in HTML elements. Until patching is possible, administrators should avoid viewing the Bad Bots log page if untrusted bots have been detected, implement Content Security Policy headers to restrict inline script execution in the WordPress admin area, and consider temporarily disabling the plugin if active exploitation is suspected. Organizations should also review WordPress admin session logs for any suspicious activity that may have occurred while viewing the Bad Bots interface and ensure all administrator accounts use strong authentication with two-factor authentication enabled.

Affected VersionsENISA

Blackhole for Bad Bots * ≤3.8

Affected Packages

euvd blackhole_for_bad_bots no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

This vulnerability affects the Blackhole for Bad Bots WordPress plugin (CPE: cpe:2.3:a:specialk:blackhole_for_bad_bots:*:*:*:*:*:*:*:*). The root cause is CWE-79 (Improper Neutralization of Input During Web Page Generation). The plugin uses sanitize_text_field() to process User-Agent data during bot detection, which strips HTML tags but fails to escape HTML entities like double quotes. This sanitized data is stored via update_option() and later rendered in the admin interface (badbots-register.php lines 75-83) directly into HTML input value attributes without esc_attr() and into span elements without esc_html(). The vulnerability represents a two-stage attack: injection during bot logging and execution when administrators view the logs, making it a classic stored XSS scenario where untrusted user input flows through storage to a privileged context without proper output encoding.

Know when Blackhole For Bad Bots gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

NVD PRIMARY 7.2 HIGH
AV:N/AC:L/PR:N/UI:N/S:C/C:L/I:L/A:N

Primary rating from NVD · only source for this CVE.

CVSS VectorNVD

Attack Vector
Network
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Changed
Confidentiality
Low
Integrity
Low
Availability
None

DescriptionCVE.org

The Blackhole for Bad Bots plugin for WordPress is vulnerable to Stored Cross-Site Scripting via the User-Agent HTTP header in all versions up to and including 3.8. This is due to insufficient input sanitization and output escaping. The plugin uses sanitize_text_field() when capturing bot data (which strips HTML tags but does not escape HTML entities like double quotes), then stores the data via update_option(). When an administrator views the Bad Bots log page, the stored data is output directly into HTML input value attributes (lines 75-83) without esc_attr() and into HTML span content without esc_html(). This makes it possible for unauthenticated attackers to inject arbitrary web scripts that execute when an administrator views the Blackhole Bad Bots admin page.

Executive ViewAI

Why It Matters

A stored cross-site scripting vulnerability in the Blackhole for Bad Bots WordPress plugin allows attackers to inject malicious code that executes when administrators view the Bad Bots log, potentially compromising admin accounts and enabling lateral movement into your WordPress environment. This affects all organizations running this plugin on versions 3.8 and earlier, with no patch currently available.

Business Impact: High
Compensating Controls

Disable the Blackhole for Bad Bots plugin entirely until a patch is released; restrict WordPress admin panel access via IP allowlisting or WAF rules to known administrative networks; implement Web Application Firewall (WAF) rules to block suspicious User-Agent headers and monitor for injection attempts; enforce multi-factor authentication for all admin accounts to reduce compromise impact; consider alternative bot protection solutions (e.g., Cloudflare, Akamai, or native WordPress security plugins with active maintenance).

Threat Intelligence Overview

EPSS Score
0.1%
Top 69% exploitable
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.1%
Patch available No
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact
High
Technical Impact
Partial

Priority Score

36
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy