CVE-2025-61577CVE-2025-61577是D-Link DIR-816A2路由器固件版本FWv1.10CNB05中存在的一个高危栈缓冲区溢出漏洞。该漏洞位于路由器的dir_setWanWifi函数中,具体由statuscheckpppoeuser参数触发。攻击者可以通过向该参数发送精心构造的超长输入数据,导致路由器发生栈溢出,从而引发拒绝服务(DoS)攻击。
该漏洞的CVSS 3.1评分为7.5分,属于高危级别。从攻击向量来看,该漏洞可以通过网络远程利用(AV:N),攻击复杂度低(AC:L),无需任何特权或认证(PR:N),也不需要用户交互(UI:N)。在影响方面,该漏洞对机密性影响较低(C:L),对完整性无影响(I:N),但对可用性影响较高(A:H),主要表现为设备崩溃或服务不可用。
D-Link DIR-816A2是一款面向家庭和小型办公环境的无线路由器,在中国市场有较大保有量。由于该设备通常部署在网络边界且长期运行,一旦遭受攻击,可能导致整个局域网无法访问互联网,影响用户的正常网络使用。此外,该路由器可能已停止官方安全更新支持,使用户面临持续的安全风险。
该漏洞的根本原因在于dir_setWanWifi函数中对statuscheckpppoeuser参数的处理缺乏充分的长度校验。当用户通过Web管理界面或API接口配置PPPoE连接时,该参数被传递到dir_setWanWifi函数中进行处理。由于函数内部使用了固定大小的栈缓冲区来存储该参数的值,攻击者可以通过发送远超缓冲区容量的恶意数据来触发栈溢出。
具体利用方式如下:
1. 攻击者构造一个包含超长statuscheckpppoeuser值的HTTP请求;
2. 该请求被发送到路由器的Web管理接口(通常为/cgi-bin/目录下的相关CGI程序);
3. dir_setWanWifi函数将恶意数据复制到栈上的固定缓冲区,导致栈空间被覆盖;
4. 栈溢出可能覆盖函数的返回地址、局部变量以及相邻的栈帧数据;
5. 最终导致程序崩溃、设备重启或服务不可用。
由于该漏洞无需认证即可利用,且可以通过网络远程触发,攻击门槛较低。攻击者只需知道目标路由器的IP地址,即可利用该漏洞发起攻击。需要注意的是,虽然当前披露的影响主要是拒绝服务,但栈溢出漏洞在特定条件下也可能被进一步利用以执行任意代码,因此需要高度重视。