CVE-2025-60696CVE-2025-60696是Linksys RE7000路由器固件FW_v2.0.15_211230_1012中的一个高危安全漏洞。该漏洞位于makeRequest.cgi二进制文件的arplookup函数中,由于不当的内存缓冲区处理导致栈缓冲区溢出。攻击者可以通过操控/proc/net/arp文件内容,利用sscanf函数的格式化字符串%s宽度限定符与实际目标缓冲区大小不匹配的问题,向栈上的小型缓冲区写入超长字符串,从而触发缓冲区溢出。此漏洞无需认证即可利用,攻击复杂度低,对路由器的机密性、完整性和可用性均造成严重影响。成功利用可导致路由器拒绝服务甚至执行任意代码。
漏洞根源在于arplookup函数使用sscanf("%16s ... %18s ...")解析/proc/net/arp文件中的行数据。sscanf的%16s格式说明符允许最多16字节的输入字符串,%18s允许最多18字节。然而,存储解析结果的栈缓冲区v6仅有12字节,v7仅有20字节。当ARP表条目包含超过缓冲区容量的MAC地址或IP地址字符串时,超出部分会溢出到相邻的栈内存区域,覆写函数返回地址和其他关键变量。攻击者可通过修改/proc/net/arp的内容(如添加长字符串条目),诱使makeRequest.cgi处理恶意构造的ARP数据,最终实现栈破坏和代码执行。