CVE-2025-11340CVE-2025-11340是GitLab Enterprise Edition(GitLab EE)中存在的一个高危权限提升漏洞,已于2025年10月8日通过补丁版本18.4.2发布修复。该漏洞影响所有从18.3版本到18.3.4版本、以及从18.4版本到18.4.2版本的GitLab EE实例。
该漏洞的核心问题在于GitLab EE的GraphQL API中,漏洞记录(vulnerability records)相关的变更操作(mutations)存在授权范围(scope)配置错误的问题。在正常的安全设计下,仅拥有只读API令牌(read-only API token)的认证用户应当只能对漏洞记录执行读取操作,而不能进行任何写入或修改操作。然而,由于GraphQL变更操作的权限检查逻辑存在缺陷,攻击者可以利用这些未正确限定范围的变更操作,绕过既定的只读权限限制,对漏洞记录执行未经授权的写入操作。
该漏洞的CVSS 3.1评分为7.7分,属于高危级别。其攻击向量为网络(AV:N),攻击复杂度低(AC:L),所需权限为低权限(PR:L),无需用户交互(UI:N),并且由于涉及范围变更(S:C),影响范围可能扩大。完整性影响为高(I:H),机密性影响为无(C:N),可用性影响为无(A:N)。这意味着该漏洞主要危害数据的完整性,攻击者可以篡改漏洞记录的内容,但不会直接泄露敏感数据或导致服务中断。
此漏洞由GitLab安全团队发现并修复,体现了GitLab对平台安全的高度重视。对于使用GitLab EE管理代码仓库和漏洞跟踪的企业和组织来说,及时升级到修复版本至关重要,以防止内部威胁或被入侵的低权限账户利用此漏洞篡改安全审计数据。
该漏洞的技术根源在于GitLab EE的GraphQL API层中对漏洞记录(Vulnerability)相关变更操作(mutation)的授权范围检查不充分。
在GitLab的API安全模型中,API令牌(Personal Access Token或Project Access Token)可以被配置为不同的权限范围(scope),其中包括read_api(只读API权限)。拥有只读API令牌的认证用户,理论上只能调用GraphQL的query操作来读取数据,不能调用mutation操作来修改数据。
然而,在受影响的版本中,某些针对漏洞记录的GraphQL mutation操作(如创建、更新、删除漏洞记录的变更)未正确实施scope检查。具体来说,当用户使用只读API令牌发送GraphQL mutation请求来操作漏洞记录时,服务端没有充分验证该令牌的scope是否包含write权限,导致授权检查被绕过。
利用方式:攻击者首先需要拥有一个有效的GitLab EE账户和只读API令牌(read_api scope)。然后,攻击者构造恶意的GraphQL mutation请求,针对漏洞记录(如VulnerabilityCreate、 VulnerabilityUpdate等变更操作),通过API端点发送。由于后端缺少正确的scope验证,mutation请求会被接受并执行,从而允许只读用户对漏洞记录进行未经授权的写入操作,如修改漏洞状态、严重等级、描述等信息。