厂商: TOTOLINK
厂商网站: TOTOLINK
型号: A720R
固件版本: V4.1.5cu.630_B20250509
固件下载地址: TOTOLINK
CVSS v4.0 基础评分:9.4(严重)
向量:CVSS:4.0/AV:N/AC:L/AT:N/PR:H/UI:N/VC:H/VI:H/VA:H/SC:H/SI:H/SA:H/E:P
cstecgi.cgi 固件二进制文件中存在基于栈的缓冲区溢出漏洞,允许已认证的管理员劫持进程的控制流并执行二进制文件中已有的代码路径。该漏洞可通过向 setMacFilterRules 处理程序发送特制请求触发,请求中包含超长的 desc 参数值,该值通过 strcpy() 被复制到固定大小的栈缓冲区中,且没有任何边界检查,从而覆盖保存的返回地址。

存在漏洞的代码位于 cstecgi.cgi 二进制文件中,其中提供的 desc 值在未进行长度校验的情况下被复制到栈缓冲区,导致保存的返回地址可被覆盖,程序的控制流可被重定向。由于该二进制文件在编译时未启用栈保护(stack canaries)且未启用 PIE,溢出不会被检测到,执行流可被可靠地重定向到二进制文件中固定地址处的代码。


通过覆盖保存的返回地址,控制流被重定向到二进制文件中已有的函数。通过调用 sleep(2)(通过设备响应中可测量的延迟确认了对指令指针的可靠控制)、系统重启例程、会话注销函数以及日志清除例程,对此进行了演示。


控制流进一步被重定向到负责启动 Telnet 服务的例程,从而在设备上启用 Telnet。

因此,具有目标设备网络访问权限的已认证攻击者可以劫持 cstecgi.cgi 进程的执行流,并在二进制文件中执行任意代码路径,从而危害设备的机密性、完整性和可用性。
这些漏洞由 Nicola Giuffrida 报告。