Pi-hole has a Stored HTML Injection in queries.js
Key facts
- Attack vector
- Network
- Privileges required
- High
- User interaction
- Required
- Attack complexity
- Low
- Impact type
- Cross-site scripting
- Confidentiality · integrity · availability
- Low · Low · None
- Fix status
- Fixed
Attack profile from CVSS 3.1 · NVD. Fix status from CNA. Impact type from CWE-79.
Summary
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- Poc
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
Remediation
- Fix · CNA web (pi-hole) Fixed in 6.5
Timeline
- 2026-10-02 Threatist record created from CVE-2026-33405
References
More Pi-hole Web Interface vulnerabilities
- TI-2023-09443 Improper session handling of "Remember me for 7 days" functionality CVSS 3.1HIGH 8.8
- TI-2025-36756 Pi-hole Admin Interface vulnerable to HTTP response header injection via CRLF injection CVSS 3.1HIGH 8.2
- TI-2026-25803 Pi-hole has a Stored HTML attribute injection CVSS 3.1MEDIUM 6.1
- TI-2026-25801 Pi-hole has a Stored XSS / HTML injection in the Network page/Dashboard CVSS 3.1MEDIUM 6.1
- TI-2026-25800 Pi-hole has a Reflected XSS / HTML injection in taillog.js CVSS 3.1MEDIUM 6.1
- TI-2025-33477 Pi-hole Admin Interface vulnerable to cross-site scripting via malformed URL path on 404 error page CVSS 4.0MEDIUM 5.1
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences