CVE-2026-3254GitLab CE/EE 在 18.11 至 18.11.1 之前的版本中存在一个安全漏洞。该漏洞源于 Mermaid 沙箱中的输入验证不充分。在特定条件下,经过身份验证的攻击者可以利用此漏洞将未经授权的内容加载到其他用户的浏览器中。尽管 CVSS 评分较低(3.5分),且需要用户交互和低权限账户,但这仍可能导致敏感信息泄露或针对特定用户的钓鱼攻击。GitLab 官方已发布修复版本,建议受影响用户尽快升级以消除风险。
该漏洞的核心在于 GitLab 集成的 Mermaid 图表渲染库中的沙箱机制存在缺陷。Mermaid 用于在 Markdown 中渲染图表,通常运行在受控的沙箱环境中以防止恶意代码执行。然而,在受影响的版本中,由于输入验证逻辑存在疏漏,攻击者可以构造特制的 Mermaid 语法或利用其支持的 HTML 标签/实体,绕过沙箱的过滤限制。攻击者首先需要登录 GitLab 账户,然后在 Issue、Comment 或 Wiki 等支持 Markdown 的位置插入恶意的 Mermaid 代码块。当受害者(其他用户)访问并查看包含该代码的页面时,浏览器会尝试渲染该图表。由于沙箱未能有效过滤,攻击者注入的恶意脚本或外部资源(如图片、脚本标签)可能会被加载并在受害者的浏览器上下文中执行。这种攻击通常表现为 DOM-based XSS 或类似的绕过,允许攻击者窃取 Session Cookie 或执行钓鱼操作。由于 CVSS 向量包含 UI:R(需要用户交互),攻击者通常需要诱导受害者点击或查看特定的页面内容才能成功利用。