CVE-2026-4916GitLab CE/EE在特定版本中存在一处权限验证不当的安全漏洞。该漏洞影响了从18.2到18.10.3之前的多个版本。由于系统在处理成员管理操作时未正确执行授权检查,拥有特定自定义角色权限的经过身份验证的攻击者,能够利用此漏洞降级或移除具有更高权限的组成员。尽管CVSS评分仅为2.7(低危),但该问题破坏了现有的权限体系,需引起管理员重视。
该漏洞根源于GitLab后端在处理组成员管理相关API请求时的授权验证逻辑缺陷。在受影响的版本中,系统在验证用户是否有权修改目标成员权限时,未能正确区分基于角色的访问控制(RBAC)层级。具体而言,代码逻辑可能仅检查了发起请求的用户是否具备某种自定义角色的“管理”权限,而忽略了目标成员(受害者)当前的角色等级是否高于攻击者。
利用条件较为严格,攻击者必须拥有一个经过身份验证的GitLab账户,并被授予了特定的自定义角色。利用过程中,攻击者可通过向GitLab服务器发送精心构造的HTTP请求(例如调用Members API的PUT或DELETE方法),指定目标高权限用户的ID。由于后端授权校验存在疏漏,服务器会误认为该操作合法,进而执行降级或移除操作。这实际上构成了纵向的权限提升,破坏了系统的最小权限原则。