CVE-2025-12669GitLab 社区版和企业版(CE/EE)存在一个安全漏洞,源于输入清理不当。该漏洞影响从 15.11 开始直至 18.11.3 之前的所有版本。已认证的攻击者可以利用此漏洞向系统发送恶意构造的 HTML 和 JavaScript 代码。当系统向其他用户发送邮件通知时,这些恶意代码会被注入其中。一旦受害者查看并渲染了这些邮件,攻击者注入的脚本便可能被执行,从而窃取敏感信息或进行进一步攻击。
该漏洞的根本原因在于 GitLab 在处理用户输入生成邮件通知内容时,未能对特定字符进行有效的过滤和转义,导致存在存储型 XSS 风险。攻击者首先需要拥有 GitLab 账户的登录权限(PR:L),随后在系统提供的交互界面(如 Issue 评论、合并请求说明等)中提交包含恶意脚本标签(如 <script>、<img onerror=...>)的数据。由于服务器端未正确清洗,这些数据被存储在数据库中。当 GitLab 的后台任务触发邮件通知逻辑,向其他关联用户发送关于该操作的邮件时,会将未经过滤的恶意 HTML/JS 直接拼接到邮件正文中。虽然现代邮件客户端通常具备安全机制拦截脚本执行,但在某些配置下或特定的客户端环境中,这些载荷仍可能被触发,导致受害者的浏览器上下文(如果是 Webmail)或邮件客户端环境受到攻击,进而获取其访问令牌或敏感数据。