CVE-2025-60699CVE-2025-60699是TOTOLINK A950RG路由器固件V5.9c.4592_B20191022_ALL中存在的一个高危安全漏洞。该漏洞位于global.so二进制文件中的getSaveConfig函数,由于对用户输入的http_host参数缺乏长度验证,直接使用不安全的strcpy()函数将用户可控数据复制到固定大小的栈缓冲区中,从而引发典型的栈缓冲区溢出问题。攻击者无需任何认证即可利用此漏洞,通过向路由器Web管理界面发送精心构造的恶意HTTP请求,即可触发缓冲区溢出条件。在特定利用场景下,攻击者可能实现任意代码执行,进而完全控制受影响设备。由于该路由器通常部署于家庭和小型办公网络环境,此漏洞的大规模利用可能造成严重的安全风险,包括但不限于网络监听、数据窃取、僵尸网络构建等恶意活动。建议受影响的用户尽快采取防护措施。
漏洞根源在于TOTOLINK A950RG路由器固件中的global.so模块内的getSaveConfig函数。该函数通过websGetVar接口获取名为http_host的用户输入参数,随后使用C标准库函数strcpy()将该参数值直接复制到栈上的固定大小缓冲区v13中。由于strcpy()函数本身不执行任何边界检查,且代码中缺少对输入字符串长度的验证机制,当攻击者提交超长字符串时,将导致栈缓冲区溢出。溢出的数据会覆盖相邻的栈内存区域,包括函数返回地址、保存的基址指针等关键数据结构。在启用了栈保护机制的现代系统上,这可能导致程序崩溃(拒绝服务);在未启用栈保护或存在可利用的gadget的情况下,攻击者可以通过覆盖返回地址将执行流重定向到精心布局的shellcode,从而在路由器上以特权进程权限执行任意命令。整个攻击过程仅需构造一个HTTP POST请求即可完成,无需任何认证凭证。