CVE-2025-64758Dependency-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版本中修复