Skip to main content

Web EUVDEUVD-2026-19283

| CVE-2026-33405 MEDIUM
Cross-site Scripting (XSS) (CWE-79)
2026-04-06 GitHub_M
4.8
CVSS 3.1 · NVD
View

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.

Impact

CVSS 3.1 reflects low overall severity due to four mitigating factors: local attack vector (AV:L) limits reach to users with direct web console access, high privilege requirement (PR:H) restricts exploitation to administrators, user interaction required (UI:R) necessitates victim action to expand a query row, and confidentiality/integrity impact are low (C:L, I:L) with no availability impact. EPSS data is not provided, but the combination of CSP mitigation, administrative privilege barrier, and stored (not directly injectable) vector suggests exploitation probability is low despite public awareness. KEV status and POC information are not available; however, the straightforward nature of HTML injection in web applications means proof-of-concept development is trivial if the vulnerability is widely known. Real-world risk is moderate for multi-user or compromised administrative environments but minimal for typical single-administrator Pi-hole deployments.

Exploit ScenarioDerived

An authenticated administrator with high-privilege access to the Pi-hole web console expands a query row in the Query Log containing attacker-controlled data in the upstream field (e.g., a malicious upstream DNS name or response that was captured as a query). The formatInfo() function renders this unescaped HTML, allowing injection of DOM elements such as <img> tags with malicious src attributes or <iframe> elements to redirect users. While inline JavaScript execution is blocked by CSP, the attacker could achieve credential harvesting via a phishing form injected into the page context or perform UI redressing attacks. No public exploit code is currently documented, but the vulnerability requires an administrator to both possess and expand a specially crafted query row, making opportunistic exploitation unlikely.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.0% exploitation probability (EPSS)

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

Alert me

AnalysisAIv1 – Apr 06, 2026

Stored HTML injection in Pi-hole Admin Interface versions 6.0 through 6.4 allows authenticated high-privilege users to inject unescaped HTML into query log details via the formatInfo() function, affecting the upstream, client IP, and error description fields. JavaScript execution is mitigated by Content Security Policy, limiting the practical impact to HTML-based attacks such as DOM manipulation or phishing content injection. The vulnerability is fixed in version 6.5.

RemediationAI

Vendor-released patch: Pi-hole Admin Interface version 6.5 and later. Upgrade the Admin Interface component to version 6.5 or newer to receive the fix that properly escapes data.upstream, data.client.ip, and data.ede.text fields in the formatInfo() function. Until upgrade is feasible, restrict administrative access to the Pi-hole web console to trusted users and monitor for unusual query log entries that may indicate exploitation attempts. Consult the GitHub Security Advisory at https://github.com/pi-hole/web/security/advisories/GHSA-jx8x-mj2r-62vq for deployment-specific guidance.

Affected VersionsENISA

Web 6.0, < 6.5

Affected Packages

euvd web_6_0 fix: 6.5

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

The Pi-hole Admin Interface (cpe:2.3:a:pi-hole:web:*:*:*:*:*:*:*:*) is a web-based management console for Pi-hole's DNS-level filtering service. The formatInfo() function in queries.js fails to escape three data fields when rendering expanded query rows in the Query Log, creating a Stored XSS vulnerability classified under CWE-79 (Improper Neutralization of Input During Web Page Generation). The same fields are correctly escaped in the table view's rowCallback function, indicating this was a code maintenance oversight rather than a systemic architectural flaw. The server's Content Security Policy with script-src 'self' blocks inline and external script execution, significantly narrowing the attack surface.

Know when Web 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 4.8 MEDIUM
AV:N/AC:L/PR:H/UI:R/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
High
User Interaction
Required
Scope
Changed
Confidentiality
Low
Integrity
Low
Availability
None

Lifecycle Timeline

4
Severity Changed
Oct 26, 2026 - 22:24 NVD
LOW MEDIUM
CVSS changed
Oct 26, 2026 - 22:24 NVD
3.1 (LOW) 4.8 (MEDIUM)
Patch available
Apr 16, 2026 - 05:29 EUVD
6.5
CVE Published
Apr 06, 2026 - 15:23 nvd
LOW 3.1

DescriptionNVD

Pi-hole Admin Interface is a web interface for managing Pi-hole, a network-level ad and internet tracker blocking application. From 6.0 to before 6.5, the formatInfo() function in queries.js renders data.upstream, data.client.ip, and data.ede.text into HTML without escaping when a user expands a query row in the Query Log, enabling stored HTML injection. JavaScript execution is blocked by the server's CSP (script-src 'self'). The same fields are properly escaped in the table view (rowCallback), confirming the omission was an oversight. This vulnerability is fixed in 6.5.

Threat Intelligence Overview

EPSS Score
0.0%
Top 96% exploitable
Data Quality
6 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GitHub VulDB

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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.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· derived
Defer
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Low
Technical Impact
Partial

Priority Score

24
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +24
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