IPBUF安全漏洞报告
English
CVE-2026-33405 CVSS 3.1 低危

CVE-2026-33405 Pi-hole Admin Interface 存储型HTML注入漏洞

披露日期: 2026-04-06

漏洞信息

漏洞编号
CVE-2026-33405
漏洞类型
存储型HTML注入
CVSS评分
3.1 低危
攻击向量
本地 (AV:L)
认证要求
高权限 (PR:H)
用户交互
需要交互 (UI:R)
影响产品
Pi-hole Admin Interface

相关标签

HTML注入Pi-hole存储型漏洞CSP限制Web安全

漏洞概述

Pi-hole Admin Interface 6.0至6.5之前版本存在存储型HTML注入漏洞。当用户在查询日志中展开查询行时,formatInfo()函数未对上游、客户端IP和EDE文本字段进行HTML转义,导致攻击者可注入恶意HTML代码。

技术细节

该漏洞源于queries.js文件中的formatInfo()函数存在安全疏忽。当高权限用户在查询日志中展开特定查询行时,该函数直接将data.upstream、data.client.ip和data.ede.text等字段的数据渲染到HTML页面中,未进行任何转义处理。尽管服务器配置了严格的CSP策略(script-src 'self'),有效阻止了JavaScript脚本的执行,但这仍然构成了存储型HTML注入。攻击者可利用此漏洞在日志详情中注入恶意HTML标签,进行钓鱼攻击或篡改页面显示。值得注意的是,表格视图(rowCallback)已正确实施了转义,表明该漏洞是开发过程中的oversight。

攻击链分析

STEP 1
步骤1
攻击者通过控制上游DNS服务器或操纵网络流量,将包含HTML标签的恶意负载注入到DNS响应的EDE文本字段中。
STEP 2
步骤2
Pi-hole设备记录该DNS查询,并将未经过滤的恶意数据(特别是data.ede.text)存储在查询日志中。
STEP 3
步骤3
管理员登录Pi-hole Admin Interface并访问Query Log页面查看网络活动。
STEP 4
步骤4
管理员点击展开包含恶意数据的特定查询行以查看详情。
STEP 5
步骤5
queries.js中的formatInfo()函数调用,将data.ede.text直接渲染为HTML,触发存储型HTML注入,在管理员浏览器中显示恶意内容。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# Proof of Concept Concept # The vulnerability resides in the 'formatInfo()' function rendering 'data.ede.text'. # Due to CSP (script-src 'self'), JS execution is blocked, but HTML injection works. # Malicious payload to be injected into the EDE text field of a DNS response payload = "<img src='x' onerror='alert(1)'>" # Since JS is blocked, a visual payload would be: visual_payload = "<h3 style='color:red'> Malicious Content Injected </h3> <b> Your admin interface is vulnerable </b>" # Python example to simulate the data structure that would trigger the vulnerability import json malicious_data = { "upstream": "normal_server", "client": { "ip": "192.168.1.1" }, "ede": { "text": visual_payload # This field is rendered unsafely in queries.js } } print(f"Malicious data object: {json.dumps(malicious_data)}")

影响范围

Pi-hole Admin Interface >= 6.0, < 6.5

防御指南

临时缓解措施
在升级到修复版本(6.5)之前,建议严格限制对 Pi-hole 管理界面的访问,仅允许可信任的管理员访问,因为该漏洞需要高权限(PR:H)和用户交互(UI:R)才能触发。由于服务器的 CSP 策略阻止了 JavaScript 执行,该漏洞主要用于 HTML 注入(如钓鱼或页面篡改),无法直接执行脚本,风险相对可控。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表