CVE-2026-39849Pi-hole FTL在6.6.1版本之前存在安全漏洞,其`dns.interface`配置字段未验证换行符,允许攻击者向dnsmasq配置注入恶意指令。在默认无密码环境下,攻击者可通过网络邻近访问修改配置,启用DHCP服务器并注入脚本。当网络设备请求DHCP租约时,将触发任意命令执行。该配置持久化存储于`/etc/pihole/pihole.toml`,重启后仍有效。
该漏洞的核心成因在于Pi-hole FTL在处理`dns.interface`配置项时,未能有效过滤换行符等特殊字符。攻击者可以利用这一缺陷,通过在接口名称中插入换行符,将恶意的dnsmasq配置指令(如`dhcp-script`)注入到生成的配置文件中。尽管代码中使用`strncpy`将接口字段长度限制在31字节以内,但通过构造如`wlan0
dhcp-script=/tmp/p`这样的精简载荷,依然可以在长度限制内完成注入。由于FTL 6.6版本引入的配置验证机制仅检查语法有效性,无法识别通过换行符拼接的恶意指令,因此攻击载荷可以顺利通过验证。攻击者利用默认无密码的配置API接口,发送恶意数据修改系统配置并启用DHCP服务器。一旦有网络设备发起DHCP租约请求,dnsmasq进程便会执行攻击者预设的脚本,从而在服务器端实现任意命令执行。