IPBUF安全漏洞报告
English
CVE-2025-3922 CVSS 6.5 中危

CVE-2025-3922 GitLab GraphQL API 拒绝服务漏洞

披露日期: 2026-04-22

漏洞信息

漏洞编号
CVE-2025-3922
漏洞类型
拒绝服务
CVSS评分
6.5 中危
攻击向量
网络 (AV:N)
认证要求
低权限 (PR:L)
用户交互
无需交互 (UI:N)
影响产品
GitLab CE/EE

相关标签

拒绝服务GitLabGraphQL资源耗尽CVE-2025-3922

漏洞概述

GitLab CE/EE在特定版本中存在安全漏洞,由于GraphQL API缺乏足够的资源分配限制,经过身份验证的攻击者可通过特定请求消耗系统资源,导致拒绝服务。

技术细节

该漏洞的根本原因在于GitLab GraphQL API对资源分配的限制不足。攻击者利用已认证的低权限账户,可以发送精心构造的恶意GraphQL查询。这些查询通常利用GraphQL的灵活性,通过深度嵌套、循环引用或请求大量数据节点,迫使服务器在解析和执行查询时消耗过量的CPU及内存资源。一旦系统资源被耗尽,GitLab服务将变得无响应,从而对合法用户造成拒绝服务攻击。

攻击链分析

STEP 1
1. 获取访问权限
攻击者注册或获取一个GitLab实例的低权限账户。
STEP 2
2. 构造恶意查询
攻击者分析GraphQL API结构,构造包含深度嵌套或大量数据请求的恶意查询语句。
STEP 3
3. 发送攻击请求
攻击者通过API端点向GitLab服务器发送构造好的恶意GraphQL请求。
STEP 4
4. 资源耗尽
服务器在处理请求时因缺乏资源限制,CPU和内存被大量消耗。
STEP 5
5. 拒绝服务
系统资源耗尽导致GitLab服务响应缓慢或完全崩溃,造成DoS。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
query { project(fullPath: "root/test-project") { issues(first: 100) { nodes { awardEmojis(first: 100) { nodes { user { status { message } } } } } } } } # Note: This is a conceptual example of a complex nested query. # Exploitation involves sending queries that overwhelm server resources.

影响范围

GitLab CE/EE >= 12.4, < 18.9.6
GitLab CE/EE >= 18.10, < 18.10.4
GitLab CE/EE >= 18.11, < 18.11.1

防御指南

临时缓解措施
建议暂时限制GraphQL API的访问权限,或通过Web应用防火墙(WAF)限制单个请求的大小和复杂度,同时密切监控系统资源使用情况。

参考链接

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