CVE-2026-4042CVE-2026-4042是一个影响Tenda i12路由器1.0.0.6(2204)版本的栈缓冲区溢出漏洞。该漏洞存在于路由器的Web管理界面中,具体位于/goform/WifiMacFilterGet路径下的formWifiMacFilterGet函数。攻击者可以通过构造恶意的index参数来触发栈缓冲区溢出,成功利用此漏洞可实现远程代码执行(RCE),从而完全控制受影响的路由器设备。由于该漏洞的利用代码已公开,且CVSS评分达到8.8分,属于高危漏洞,攻击者可远程发起攻击,无需身份认证或仅需低权限即可利用。Tenda作为常见的家用及小型办公网络设备供应商,其设备广泛部署于各种网络环境中,该漏洞的存在对网络安全构成严重威胁。攻击者利用该漏洞可以窃取网络流量、植入恶意代码、建立持久化后门,甚至将受感染设备纳入僵尸网络进行DDoS攻击。
该漏洞的根本原因在于formWifiMacFilterGet函数在处理用户输入的index参数时缺乏适当的边界检查。当攻击者向/goform/WifiMacFilterGet端点发送精心构造的HTTP请求,其中index参数包含超长字符串时,会导致栈上的缓冲区被溢出。在C/C++编写的嵌入式设备固件中,栈内存通常用于存储局部变量和函数返回地址,攻击者通过覆盖这些关键内存区域,可以控制程序执行流程并最终执行任意代码。
具体利用过程:攻击者构造包含大量字符的index参数(如'A'*数百字节),通过HTTP POST请求发送到目标路由器的/goform/WifiMacFilterGet端点。由于该函数使用栈内存存储index参数值而未进行长度验证,超长的输入会覆盖相邻的栈帧数据,包括保存的返回地址。攻击者可以用shellcode的地址覆盖返回地址,当函数执行完毕返回时,程序计数器将跳转到攻击者控制的地址执行恶意代码。
该漏洞的利用难点在于需要绕过地址空间布局随机化(ASLR)和栈保护机制,但在嵌入式设备固件中,这些保护机制往往未被启用或配置较弱,大大降低了利用难度。攻击者通常需要先进行信息收集,确定目标设备的固件版本和架构,然后编写针对特定平台的shellcode。