CVE-2025-10858

7.5 HIGH

📋 TL;DR

This vulnerability allows unauthenticated attackers to cause a Denial of Service (DoS) condition in GitLab by uploading specially crafted large JSON files. The attack requires no authentication and affects all GitLab CE/EE instances running vulnerable versions. This could render GitLab services unavailable to legitimate users.

💻 Affected Systems

Products:
  • GitLab Community Edition
  • GitLab Enterprise Edition
Versions: All versions before 18.2.7, 18.3 before 18.3.3, and 18.4 before 18.4.1
Operating Systems: All supported platforms
Default Config Vulnerable: ⚠️ Yes
Notes: Affects all GitLab installations with default configurations that allow file uploads.

📦 What is this software?

Gitlab by Gitlab

GitLab is a complete DevOps platform providing source code management, CI/CD pipelines, security scanning, container registry, and collaboration tools used by millions of developers and thousands of enterprises worldwide. As both a cloud-hosted SaaS offering (GitLab.com) and self-managed software, G...

Learn more about Gitlab →

Gitlab by Gitlab

GitLab is a complete DevOps platform providing source code management, CI/CD pipelines, security scanning, container registry, and collaboration tools used by millions of developers and thousands of enterprises worldwide. As both a cloud-hosted SaaS offering (GitLab.com) and self-managed software, G...

Learn more about Gitlab →

Gitlab by Gitlab

GitLab is a complete DevOps platform providing source code management, CI/CD pipelines, security scanning, container registry, and collaboration tools used by millions of developers and thousands of enterprises worldwide. As both a cloud-hosted SaaS offering (GitLab.com) and self-managed software, G...

Learn more about Gitlab →

Gitlab by Gitlab

GitLab is a complete DevOps platform providing source code management, CI/CD pipelines, security scanning, container registry, and collaboration tools used by millions of developers and thousands of enterprises worldwide. As both a cloud-hosted SaaS offering (GitLab.com) and self-managed software, G...

Learn more about Gitlab →

Gitlab by Gitlab

GitLab is a complete DevOps platform providing source code management, CI/CD pipelines, security scanning, container registry, and collaboration tools used by millions of developers and thousands of enterprises worldwide. As both a cloud-hosted SaaS offering (GitLab.com) and self-managed software, G...

Learn more about Gitlab →

Gitlab by Gitlab

GitLab is a complete DevOps platform providing source code management, CI/CD pipelines, security scanning, container registry, and collaboration tools used by millions of developers and thousands of enterprises worldwide. As both a cloud-hosted SaaS offering (GitLab.com) and self-managed software, G...

Learn more about Gitlab →

⚠️ Risk & Real-World Impact

🔴

Worst Case

Complete service unavailability for all GitLab users, potentially disrupting development workflows, CI/CD pipelines, and code collaboration across the organization.

🟠

Likely Case

Temporary service degradation or outages affecting GitLab web interface, API, and Git operations until the attack stops or system resources are restored.

🟢

If Mitigated

Minimal impact with proper rate limiting, file upload restrictions, and network controls in place to block malicious requests.

🌐 Internet-Facing: HIGH
🏢 Internal Only: MEDIUM

🎯 Exploit Status

Public PoC: ✅ No
Weaponized: LIKELY
Unauthenticated Exploit: ⚠️ Yes
Complexity: LOW

The vulnerability is straightforward to exploit as it requires no authentication and involves uploading crafted files.

🛠️ Fix & Mitigation

✅ Official Fix

Patch Version: 18.2.7, 18.3.3, or 18.4.1

Vendor Advisory: https://gitlab.com/gitlab-org/gitlab/-/issues/570034

Restart Required: Yes

Instructions:

1. Backup your GitLab instance. 2. Update to GitLab 18.2.7, 18.3.3, or 18.4.1 using your package manager. 3. Restart GitLab services. 4. Verify the update was successful.

🔧 Temporary Workarounds

Rate Limit File Uploads

linux

Configure rate limiting for file upload endpoints to prevent abuse.

Edit /etc/gitlab/gitlab.rb and add: nginx['rate_limit_zone_size'] = '10m'; nginx['rate_limit'] = '10r/s'
Run: sudo gitlab-ctl reconfigure

Restrict JSON File Uploads

all

Block or limit JSON file uploads through web application firewall or reverse proxy.

Add WAF rule to block large JSON uploads or limit content-type application/json

🧯 If You Can't Patch

  • Implement network-level controls to block or rate limit requests to GitLab upload endpoints from untrusted sources.
  • Deploy a web application firewall (WAF) with rules to detect and block large JSON file upload attempts.

🔍 How to Verify

Check if Vulnerable:

Check your GitLab version against affected versions: all versions before 18.2.7, 18.3 before 18.3.3, and 18.4 before 18.4.1.

Check Version:

sudo gitlab-rake gitlab:env:info | grep 'Version:'

Verify Fix Applied:

Confirm GitLab version is 18.2.7, 18.3.3, or 18.4.1 or later.

📡 Detection & Monitoring

Log Indicators:

  • Unusually large JSON file uploads in GitLab logs
  • Multiple failed upload attempts from single IPs
  • High memory/CPU usage alerts during uploads

Network Indicators:

  • Spike in traffic to GitLab upload endpoints
  • Multiple POST requests with large JSON payloads

SIEM Query:

source="gitlab.log" AND ("upload" AND "json" AND size>1000000)

🔗 References

📤 Share & Export