CVE-2025-11388CVE-2025-11388是Tenda AC15路由器(固件版本15.03.05.18)中存在的一个高危栈缓冲区溢出漏洞。该漏洞位于路由器的Web管理接口/goform/setNotUpgrade中,攻击者可以通过精心构造HTTP请求,对参数newVersion进行恶意操作,触发栈缓冲区溢出漏洞。由于该漏洞可被远程利用,且无需用户交互,同时存在公开的漏洞利用代码(POC),因此对使用受影响固件版本的Tenda AC15路由器用户构成严重威胁。
Tenda AC15是一款面向家庭和小型办公环境的双频无线路由器,在中国及海外市场拥有广泛的用户群体。该路由器的Web管理界面默认监听在80端口,提供了包括固件升级、Wi-Fi配置、端口转发、家长控制等在内的多种管理功能。攻击者一旦成功利用该漏洞,可以在受影响的设备上执行任意代码,获取路由器的完全控制权限,进而对内网中的其他设备发起进一步攻击,或将路由器纳入僵尸网络用于DDoS攻击、挖矿等恶意活动。
该漏洞的CVSS 3.1评分为8.8分,属于高危级别。攻击向量为网络(AV:N),攻击复杂度低(AC:L),仅需低权限认证(PR:L),无需用户交互(UI:N),对机密性、完整性和可用性均产生高影响(C:H/I:H/A:H)。漏洞已于2025年10月7日公开披露,目前已有公开的POC利用代码可供下载和使用。
该漏洞的根本原因在于Tenda AC15路由器固件版本15.03.05.18中,/goform/setNotUpgrade接口在处理newVersion参数时,未对用户输入的数据长度进行充分的边界检查,导致攻击者可以传入超出预期长度的字符串数据,从而覆盖栈上的返回地址和其他关键数据结构。
从技术层面分析,setNotUpgrade接口是路由器Web管理界面中用于设置固件不升级状态的API端点。当路由器接收到包含newVersion参数的HTTP请求时,后端处理程序会将该参数值复制到栈上的固定大小缓冲区中,而没有使用安全的字符串拷贝函数(如strncpy、snprintf等),也没有进行长度校验。攻击者可以构造一个超长的newVersion参数值,使其超过栈缓冲区的容量,进而覆盖栈帧中的返回地址。
利用该漏洞时,攻击者首先需要获取路由器的管理权限(低权限即可,如普通用户账号),然后通过HTTP POST请求向/goform/setNotUpgrade端点发送包含恶意newVersion参数的payload。payload中包含了精心构造的shellcode和ROP(Return-Oriented Programming)链,用于绕过ASLR(地址空间布局随机化)等安全防护机制。当处理函数返回时,程序控制流被劫持到攻击者指定的地址,执行恶意代码。
由于该漏洞的利用复杂度较低,且已有公开的POC代码,攻击者可以快速将其武器化,对互联网上暴露的Tenda AC15路由器发起大规模扫描和攻击。建议用户尽快检查并更新路由器固件至最新版本。