TP-Link 设备调试协议(TDDP)身份验证绕过(CVE-2026-0834)
TDDP(TP-Link 设备调试协议)服务中的一个漏洞允许本地网络上的未认证远程攻击者执行管理命令。在处理 TDDPv2 数据包时,pktLength 值为 0 会导致 DES 解密例程因短路求值而被跳过。超出 28 字节数据包头的数据被放置在预期存放解密后载荷数据的缓冲区中,从而绕过身份验证,并允许其被解释为有效的命令数据。
攻击者可利用此漏洞执行管理功能,包括在无需凭据的情况下进行恢复出厂设置和设备重启。
该漏洞影响 TDDP 服务实现。经分析,所有固件版本均被发现存在 tddp_parserHandler() 中的易受攻击代码模式。然而,并非所有 TP-Link 设备都默认启用了 TDDP。
此概念验证(PoC)是针对 TP-Link Archer C20 V6(固件 0.9.1 Build 4.19/4.20)创建的。内存偏移量、命令结构及利用技术在其他设备型号或固件版本上可能有所不同。
此 PoC 会对目标设备执行恢复出厂设置和重启操作。所有配置都将被清除。
$ python3 cve-2026-0834.py
[*] 目标:192.168.0.1:1040
[*] 正在发送恢复出厂设置命令(0x49)...
[+] 来自('192.168.0.1',1040)的响应:020701000000001000010000f876a43eae343258cfd6e426a435156bc3813de141e9a2162714388fe3af8e0c
[*] 等待 1 秒...
[*] 正在发送重启命令(0x4A)...
[+] 来自('192.168.0.1',1040)的响应:0207010000000010000100009b0361efe2560a92e1e6feba5bfe21cec3813de141e9a216660a7b69eca4e234
编辑脚本中的 TARGET_IP,使其与目标设备的 IP 地址匹配。