CVE-2025-60691CVE-2025-60691 是存在于 Linksys E1200 v2 路由器 httpd 二进制文件中的一个高危栈缓冲区溢出漏洞。该漏洞存在于 apply_cgi 和 block_cgi 函数中,这些函数使用 sprintf 函数将用户通过 "url" CGI 参数提交的输入复制到栈缓冲区(v36、v29)中,而未进行任何边界检查。由于这些缓冲区被分配为单字节变量,任何非空输入都会触发缓冲区溢出。攻击者可以通过构造恶意的 HTTP 请求远程利用此漏洞,无需任何认证即可在受影响设备上执行任意代码或导致拒绝服务(DoS)。该漏洞的 CVSS 评分为 8.8,属于高危级别,对路由器的安全性构成严重威胁。攻击向量为邻接网络(AV:A),意味着攻击者需要处于与目标设备相同的网络邻接位置才能发起攻击。
该漏洞的根本原因在于 Linksys E1200 v2 路由器固件(E1200_v2.0.11.001_us.tar.gz)中的 httpd 守护进程存在不安全的字符串处理操作。在 apply_cgi 和 block_cgi 函数中,程序使用 sprintf 函数将用户可控的 "url" CGI 参数直接复制到栈上的局部缓冲区 v36 和 v29 中。sprintf 函数在复制字符串时不会检查目标缓冲区的实际大小,而声明的缓冲区仅为单字节变量,这导致任何长度的输入都会造成缓冲区溢出。攻击者可以通过发送包含超长字符串的 HTTP 请求来触发此漏洞,精心构造的 payload 可以覆盖栈上的返回地址和关键寄存器,从而控制程序执行流程,实现远程代码执行。由于漏洞存在于处理 HTTP 请求的 CGI 逻辑中,攻击者无需任何认证凭证即可发起攻击,这大大增加了漏洞的可利用性和危害程度。