Skip to main content
CVE Vulnerability Database

CVE-2026-1387: GitLab GraphQL DoS Vulnerability

CVE-2026-1387 is a denial of service vulnerability in GitLab EE that allows authenticated users to crash systems via malicious file uploads and GraphQL queries. This article covers technical details, affected versions, and mitigations.

Published:

CVE-2026-1387 Overview

CVE-2026-1387 is a Denial of Service vulnerability affecting GitLab Enterprise Edition (EE) that allows authenticated users to disrupt service availability. The flaw exists in GitLab's file handling mechanism when processing uploaded files through the GraphQL API. An attacker with valid authentication credentials can upload a specially crafted malicious file and repeatedly query it through GraphQL endpoints, leading to resource exhaustion and service degradation.

This vulnerability is classified as CWE-770 (Allocation of Resources Without Limits or Throttling), indicating that the application fails to properly limit resource consumption when processing file queries.

Critical Impact

Authenticated attackers can cause service disruption affecting GitLab EE deployments, potentially impacting development workflows and CI/CD pipelines across affected organizations.

Affected Products

  • GitLab Enterprise Edition versions 15.6 through 18.6.5
  • GitLab Enterprise Edition versions 18.7.0 through 18.7.3
  • GitLab Enterprise Edition versions 18.8.0 through 18.8.3

Discovery Timeline

  • 2026-02-10 - GitLab releases security patch (versions 18.6.6, 18.7.4, 18.8.4)
  • 2026-02-11 - CVE-2026-1387 published to NVD
  • 2026-02-12 - Last updated in NVD database

Technical Details for CVE-2026-1387

Vulnerability Analysis

This Denial of Service vulnerability stems from insufficient resource management in GitLab EE's file handling subsystem when files are accessed through the GraphQL API. The vulnerability allows authenticated users to trigger excessive resource consumption on the server by uploading malicious files and repeatedly querying them, effectively overwhelming server resources without proper throttling or rate limiting.

The attack requires only low-privilege authenticated access and can be executed remotely over the network. While the vulnerability does not compromise data confidentiality or integrity, it poses a significant threat to service availability, potentially disrupting critical development operations and CI/CD pipelines for organizations relying on GitLab EE.

Root Cause

The root cause is categorized under CWE-770: Allocation of Resources Without Limits or Throttling. GitLab EE fails to implement adequate resource allocation controls when processing file queries through the GraphQL interface. This allows authenticated users to consume disproportionate server resources by repeatedly querying uploaded files, leading to resource exhaustion and denial of service conditions.

Attack Vector

The attack vector is network-based and requires authenticated access to the GitLab EE instance. An attacker can exploit this vulnerability by:

  1. Authenticating to the GitLab EE instance with valid credentials
  2. Uploading a specially crafted malicious file through normal upload mechanisms
  3. Repeatedly querying the uploaded file through the GraphQL API
  4. The repeated queries trigger resource exhaustion, degrading service availability for legitimate users

The vulnerability is characterized by low attack complexity, requiring no user interaction beyond the attacker's own actions. The impact is limited to availability disruption, with no effect on confidentiality or integrity.

The vulnerability manifests in the file query processing mechanism within GitLab's GraphQL implementation. When a malicious file is uploaded and subsequently queried multiple times, the server fails to properly throttle or limit the resource allocation for processing these requests. Technical details regarding the specific exploitation technique can be found in the HackerOne Report #3515994 and the GitLab Issue Discussion.

Detection Methods for CVE-2026-1387

Indicators of Compromise

  • Unusual spikes in GraphQL API request volume from individual authenticated users
  • Elevated server resource utilization (CPU, memory) correlating with file query operations
  • Repeated identical or similar file queries through the GraphQL endpoint from the same user session
  • Server performance degradation or timeouts affecting multiple users simultaneously

Detection Strategies

  • Monitor GraphQL query logs for repetitive file access patterns from single users or sessions
  • Implement alerting on resource utilization thresholds specifically for file processing operations
  • Analyze authentication logs for accounts making excessive GraphQL requests
  • Deploy application-level monitoring to detect abnormal API usage patterns

Monitoring Recommendations

  • Configure rate limiting alerts on GitLab GraphQL endpoints to detect potential abuse
  • Establish baseline metrics for normal file query operations and alert on deviations
  • Monitor server health metrics including CPU, memory, and I/O during file processing operations
  • Review GitLab audit logs for suspicious file upload and query activity patterns

How to Mitigate CVE-2026-1387

Immediate Actions Required

  • Upgrade GitLab EE to patched versions: 18.6.6, 18.7.4, or 18.8.4 immediately
  • Review GraphQL access logs for any suspicious activity indicating exploitation attempts
  • Implement rate limiting on GraphQL endpoints as a temporary measure if immediate patching is not possible
  • Monitor system resources for signs of ongoing denial of service attacks

Patch Information

GitLab has released security patches addressing this vulnerability. Organizations should upgrade to the following versions based on their current deployment:

Current Version RangeUpgrade To
15.6 - 18.6.518.6.6
18.7.0 - 18.7.318.7.4
18.8.0 - 18.8.318.8.4

For detailed patch information, refer to the GitLab Patch Release Announcement.

Workarounds

  • Implement rate limiting on GraphQL API endpoints at the network or application layer
  • Restrict GraphQL access to trusted users or IP ranges where operationally feasible
  • Monitor and temporarily suspend accounts exhibiting suspicious file query patterns
  • Consider implementing additional authentication controls for GraphQL endpoint access
bash
# Example: Rate limiting configuration for GitLab (nginx)
# Add to your GitLab nginx configuration
limit_req_zone $binary_remote_addr zone=graphql_limit:10m rate=10r/s;

location /-/graphql {
    limit_req zone=graphql_limit burst=20 nodelay;
    # Additional configuration...
}

Disclaimer: This content was generated using AI. While we strive for accuracy, please verify critical information with official sources.

Default Legacy - Prefooter | Experience the World’s Most Advanced Cybersecurity Platform

Experience the Most Advanced Cybersecurity Platform

See how the world’s most intelligent, autonomous cybersecurity platform can protect your organization today and into the future.