CVE-2025-11387CVE-2025-11387是Tenda AC15无线路由器(固件版本15.03.05.18)中存在的一个高危安全漏洞。该漏洞位于路由器的/goform/fast_setting_pppoe_set接口中,属于PPPoE快速设置功能模块。攻击者可以通过构造恶意的HTTP请求,向该接口的Password参数提交超长数据,触发栈缓冲区溢出漏洞。由于该漏洞可以通过网络远程利用,且仅需要低权限认证,攻击者可以在无需用户交互的情况下,利用此漏洞实现远程代码执行,从而完全控制受影响的路由器设备。
该漏洞的CVSS 3.1评分为8.8分,属于高危级别。其攻击向量为网络(AV:N),攻击复杂度低(AC:L),所需权限为低(PR:L),无需用户交互(UI:N)。一旦成功利用,将对系统的机密性、完整性和可用性均产生高影响(C:H/I:H/A:H)。该漏洞的利用代码已被公开披露,攻击者可以轻易获取并利用,给使用Tenda AC15路由器的用户和企业带来严重的安全威胁。
Tenda AC15是一款面向家庭和小型办公环境的双频无线路由器,在全球市场拥有大量用户。由于路由器作为网络基础设施的关键节点,一旦被攻陷,攻击者可以监控网络流量、窃取敏感信息、篡改网络配置,甚至将受感染设备纳入僵尸网络进行更大规模的攻击。
该漏洞的根本原因在于/goform/fast_setting_pppoe_set接口处理PPPoE设置请求时,对Password参数的长度验证不足。当用户通过Web管理界面配置PPPoE拨号连接时,前端会向该接口提交包含用户名和密码的POST请求。然而,后端CGI程序在将Password参数复制到栈缓冲区时,没有正确检查输入数据的长度,导致攻击者可以通过发送超长字符串覆盖栈上的返回地址和其他关键数据。
具体利用方式如下:攻击者首先需要获取路由器的管理权限(低权限即可),然后构造一个精心设计的HTTP POST请求,目标URL为/goform/fast_setting_pppoe_set,在请求体中包含一个超长的Password字段值。当该请求被路由器处理时,超长的密码数据将溢出栈缓冲区,覆盖保存的返回地址。攻击者可以将返回地址替换为shellcode地址或ROP链地址,从而实现任意代码执行。
由于该漏洞为栈溢出,攻击者可以利用经典的栈溢出技术,如返回地址覆盖、ROP(Return-Oriented Programming)链构造等。由于固件通常不启用ASLR(地址空间布局随机化)和栈保护(Stack Canary),利用难度相对较低。攻击成功后,攻击者可以在路由器上执行任意命令,获取root权限,植入后门,窃取用户凭证,或对内网其他设备发起进一步攻击。