🔴 严重 | CVE-2026-61462 — mcp-gitlab contains a path traversal vulnerability...
🔴 【深度分析】严重安全漏洞:CVE-2026-61462
CVSS 评分: 严重(9.2)🔴 状态: Received 发布时间: 2026-07-13
🔍 技术细节速览
| 字段 | 值 |
|---|---|
| CVE ID | CVE-2026-61462 |
| CVSS 评分 | 9.2 🔴 |
| 严重程度 | 严重 |
| CVSS 向量 | CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
| CWE 分类 | CWE-73 |
| 发布时间 | 2026-07-13 |
| 最后更新 | 2026-07-13 |
| 状态 | Received |
| 数据来源 | disclosure@vulncheck.com |
好的,作为一名资深网络安全分析师,我将基于您提供的 NVD 原始数据,生成这篇专业的漏洞深度分析文章。
漏洞概述
CVSS 评分: 9.2(严重) 🚨
CVSS 向量: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:H/SI:N/SA:N
CVE-2026-61462 是一个存在于 mcp-gitlab 组件中的高危路径遍历漏洞。该漏洞允许未经身份验证的远程攻击者通过操纵 build/index.js 中的 job_id 参数,突破预设的路径限制,从而将 GitLab API 请求重定向到任意端点。攻击者可以利用此漏洞,以运行 mcp-gitlab 服务的操作员身份的 Personal Access Token(个人访问令牌)权限,访问 GitLab 上的敏感 API 资源,可能导致机密数据泄露。
该漏洞的 CVSS 评分高达 9.2,被归类为“严重”级别,主要因为其攻击复杂度低、无需权限且无需用户交互,直接影响机密性(High 级)。
受影响组件与版本
- 受影响组件:
mcp-gitlab(Model Context Protocol (MCP) 服务器 GitLab 集成组件) - 受影响版本: 根据 NVD 数据,所有未修复此路径遍历漏洞的版本均受影响。目前 NVD 状态为“Received”,尚未披露具体受影响版本范围或修复版本。建议用户关注
mcp-gitlab官方仓库的后续安全公告和版本更新。
漏洞原理分析
该漏洞的核心成因是对用户输入(job_id 参数)的路径校验不严,属于标准的安全设计缺陷(CWE-73: 外部控制文件名或路径)。
具体技术分析如下:
路径构造逻辑缺陷:
mcp-gitlab的build/index.js文件在向 GitLab API 发起请求时,通常会构造一个包含job_id的路径前缀(例如/api/v4/projects/{project_id}/jobs/{job_id})。该漏洞点在于,代码没有对job_id用户输入中包含的路径遍历序列(如../)进行有效过滤或规范化处理。攻击向量利用: 攻击者可以在
job_id参数中注入路径遍历字符。例如,使用../../../user作为输入。当程序将用户输入的job_id拼接到 API 请求路径时,实际的请求路径会变成/api/v4/projects/{project_id}/jobs/../../../user。在 URL 解析过程中,../序列会跳出预设的jobs/目录,最终请求的端点变为/api/v4/user。权限旁路: 此操作不仅仅是一个简单的路径跳转。关键在于,这些从
mcp-gitlab服务发起的请求会自动携带操作员的 Personal Access Token 用于身份验证。因此,攻击者通过构造恶意的job_id,可以“借用”操作员的合法凭证,访问任何该令牌有权限访问的 GitLab API 端点。
影响评估
该漏洞的实际威胁性极高,主要归因于以下因素:
- 攻击复杂度(AC:L): 攻击者无需任何高级技巧,只需在参数中插入常规的
../字符串,利用成本极低。 - 攻击向量(AV:N): 攻击完全可以通过网络远程发起,无需物理接触或有网络边界限制。
- 所需权限(PR:N)与用户交互(UI:N): 该漏洞在攻击路径上无需任何身份验证,也无须受害者进行任何交互(如点击链接),属于“零点击”漏洞。
- 潜在后果:
- 机密性影响(VC:H / SC:H): 最直接的后果是数据泄露。攻击者可以遍历内部 GitLab API,读取项目、代码仓库、用户信息、CI/CD 变量(可能包含密钥)、Issue、Merge Request 等所有凭据可访问的机密信息。
- 完整性影响(VI:N / SI:N): 根据其 CVSS 向量,该漏洞当前不直接影响完整性。但理论上,如果攻击者访问到了具有写权限的 API 端点(如修改仓库文件、创建用户等),其影响可以升级为完整性破坏。
- 可用性影响(VA:N / SA:N): 该漏洞不直接影响服务可用性。但数据被大量窃取后可能引发公司声誉和法律风险。
修复建议
鉴于该漏洞的严重性,需立即采取行动:
立即升级(首选方案): 密切关注
mcp-gitlab官方项目主页或相关安全公告。一旦发布修复版本,应立即升级。开发者预计将通过严格的输入验证和路径规范化来解决此问题,例如禁止../等特殊序列或使用白名单来固定可访问的 API 端点。临时缓解措施:
- Web 应用防火墙(WAF)规则: 在服务前端部署 WAF,配置规则拦截或转义
job_id参数中包含../或.等路径遍历关键字的请求。注意:这可能会影响正常业务,需谨慎测试。 - 最小权限原则: 审查并严格限制
mcp-gitlab服务所使用的 GitLab Personal Access Token 的权限范围。应将其权限降至最低(例如,只读访问特定项目,并禁止访问admin或用户管理接口)。这样即便漏洞被利用,也能极大缩小攻击面。 - 网络隔离: 将
mcp-gitlab服务部署在有限的网络环境中,限制其出站流量,并监控其外发 API 请求是否出现异常的目标端点,以便能及早发现攻击行为。
- Web 应用防火墙(WAF)规则: 在服务前端部署 WAF,配置规则拦截或转义
参考资料
- CVE 标识符: CVE-2026-61462
- CWE 分类: CWE-73: External Control of File Name or Path
- NVD 官方详情页(同上): https://nvd.nist.gov/vuln/detail/CVE-2026-61462
- 数据来源: VulnCheck (disclosure@vulncheck.com)
- (待补充) 官方修复版本链接、安全公告。建议关注
mcp-gitlab官方 GitHub 仓库的 Release 和 Security Advisories 页面。