CVE-2025-11324CVE-2025-11324是Tenda AC18路由器(固件版本15.03.05.19(6318))中存在的一个高危安全漏洞。该漏洞位于路由器的Web管理接口/goform/setNotUpgrade中,具体涉及newVersion参数的处理逻辑。攻击者可以通过构造恶意的HTTP请求,向该接口发送超长或格式异常的newVersion参数值,触发栈缓冲区溢出漏洞。由于该漏洞可通过网络远程利用,且仅需要低权限认证即可触发,同时对系统的机密性、完整性和可用性均产生高影响,因此被评定为高危级别(CVSS 3.1评分8.8分)。该漏洞的利用代码已在公开渠道发布,潜在威胁较高,可能导致攻击者在目标路由器上执行任意代码,获取设备控制权限,进一步利用路由器作为跳板攻击内网其他设备,或窃取用户敏感网络数据。Tenda AC18作为一款广泛使用的家用双频无线路由器,在全球市场拥有大量部署,因此该漏洞的影响范围不容忽视。安全研究人员建议相关用户及时关注厂商发布的固件更新,并在修复前采取适当的临时防护措施。
该漏洞的根本原因在于Tenda AC18路由器固件(15.03.05.19(6318))中/goform/setNotUpgrade接口对newVersion参数的处理缺乏有效的边界检查。当用户通过Web管理界面提交固件升级版本信息时,路由器CGI处理程序会接收newVersion参数并将其复制到栈上的固定大小缓冲区中。由于未对输入长度进行充分验证,攻击者可以发送远超缓冲区容量的恶意字符串,覆盖栈上的返回地址和其他关键控制数据,从而实现任意代码执行。
从技术层面分析,攻击流程如下:
1. 攻击者首先需要获取路由器的管理权限(低权限即可),这通常通过默认凭据、弱口令爆破或其他已知的认证绕过漏洞实现。
2. 攻击者构造一个精心设计的HTTP POST请求,目标URL为/goform/setNotUpgrade,参数newVersion填充超长字符串(通常包含shellcode或ROP链)。
3. 当路由器处理该请求时,newVersion参数的值被复制到栈缓冲区,导致缓冲区溢出,覆盖函数的返回地址。
4. 攻击者通过控制被覆盖的返回地址,将程序执行流重定向至其注入的shellcode或ROP链。
5. 最终实现在路由器上以root权限执行任意代码,完全控制设备。
该漏洞属于典型的IoT设备栈溢出漏洞,由于嵌入式设备通常缺乏现代操作系统提供的安全防护机制(如ASLR、DEP/栈保护等),使得此类漏洞的利用相对容易,攻击成功率较高。