CVE-2025-67730 – 存储型跨站脚本 (XSS)
概述
CVE ID: CVE-2025-67730
漏洞类型: 存储型跨站脚本 (XSS)
严重性: 中高 (取决于上下文)
此漏洞允许经过身份验证的用户将恶意HTML和JavaScript注入到Job、Course和Batch表单的描述字段中。注入的有效载荷会在随后查看受影响的Job、Course或Batch的任何用户的浏览器中自动执行。
受影响的组件
- Job 描述字段
- Course 描述字段
- Batch 描述字段
影响
- 在受害者浏览器中执行任意JavaScript
- 会话劫持
- 凭据窃取
- 账户接管(取决于权限级别)
- DOM操纵和钓鱼
由于有效载荷是存储型,攻击持续存在并影响每个查看被篡改内容的用户。
攻击场景
- 攻击者使用有效用户账户登录。
- 攻击者创建或编辑一个Job、Course或Batch。
- 将恶意JavaScript插入到描述字段中。
- 有效载荷被保存到数据库中。
- 任何打开受影响页面的用户都会触发该有效载荷。
概念验证 (PoC)
复现步骤:
- 以任何经过身份验证的用户身份登录。
- 导航到Job / Course / Batch的创建或编辑页面。
- 将有效载荷粘贴到描述字段中。
- 保存表单。
- 打开创建的Job / Course / Batch。
- JavaScript在浏览器中执行。
根本原因
- 缺少或不足的服务器端HTML清理
- 不安全地渲染用户提供的输入
- 模板中缺乏输出编码
修复/缓解措施
官方补丁
实施的安全改进
- 对输入进行适当的HTML清理
- 在渲染前进行安全的输出编码
- 限制可执行标签和属性
推荐的最佳实践
- 始终在服务器端清理用户输入
- 根据上下文(HTML、JS、URL)应用输出编码
- 使用受信任的HTML清理器(例如 DOMPurify)
- 实施内容安全策略 (CSP)
时间线
- 报告者: Dharan Raghunathan
- 状态: 已修复
- 补丁发布: 版本 2.42.0
致谢
此问题由 Dharan Raghunathan 负责任地披露。
参考资料
免责声明
本文档仅供教育和防御性安全目的使用。