CVE-2025-60684CVE-2025-60684是影响ToToLink LR1200GB(固件版本V9.1.0u.6619_B20230130)和NR1800X(固件版本V9.1.0u.6681_B20230703)路由器固件的高危安全漏洞。该漏洞存在于cstecgi.cgi二进制文件的sub_42F32C函数中,由于web界面在处理用户输入的lang参数时,使用sprintf()函数将数据写入固定大小的栈缓冲区,而未进行任何长度验证或边界检查,导致攻击者可以通过构造超长的lang参数值触发栈缓冲区溢出。此漏洞无需认证即可利用,攻击者可通过发送恶意HTTP请求远程触发,可能导致路由器服务中断、内存数据泄露,甚至在某些条件下实现任意代码执行。鉴于该漏洞影响网络设备且利用复杂度较低,建议受影响用户尽快采取防护措施。
漏洞根源在于cstecgi.cgi二进制文件中的sub_42F32C函数对用户输入处理不当。当web界面接收到包含lang参数的HTTP请求时,该函数直接读取参数值并通过sprintf()函数将其拼接到预分配在栈上的固定大小缓冲区中,用于构造Help URL字符串。由于sprintf()函数不检查目标缓冲区容量,攻击者只需提供超长字符串即可覆盖栈上的返回地址、保存的寄存器值以及其他栈帧数据。在启用了ASLR的现代系统中,这种直接溢出可能难以稳定利用,但结合ROP(返回导向编程)技术,攻击者仍可绕过安全防护实现代码执行。此外,栈溢出可能导致程序崩溃,造成拒绝服务。攻击者可通过发送如下HTTP请求触发漏洞:GET /cstecgi.cgi?lang=[超长字符串] HTTP/1.1。该漏洞的网络可达性使其成为远程攻击的理想入口点。