Skip to main content
CVE Vulnerability Database
Vulnerability Database/CVE-2025-12575

CVE-2025-12575: GitLab EE SSRF Vulnerability

CVE-2025-12575 is an SSRF vulnerability in GitLab EE that allows authenticated users to make unauthorized requests to internal network services. This post covers technical details, affected versions, impact, and mitigation.

Published:

CVE-2025-12575 Overview

A Server-Side Request Forgery (SSRF) vulnerability has been identified in GitLab Enterprise Edition (EE) that allows authenticated users with certain permissions to make unauthorized requests to internal network services through the GitLab server. This vulnerability affects all versions from 18.0 and could potentially expose sensitive internal services and data to unauthorized access.

Critical Impact

Authenticated attackers could leverage this SSRF vulnerability to probe and interact with internal network services that should not be accessible from the GitLab application, potentially leading to information disclosure or further exploitation of internal systems.

Affected Products

  • GitLab Enterprise Edition (EE) versions 18.0 before 18.6.6
  • GitLab Enterprise Edition (EE) versions 18.7 before 18.7.4
  • GitLab Enterprise Edition (EE) versions 18.8 before 18.8.4

Discovery Timeline

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

Technical Details for CVE-2025-12575

Vulnerability Analysis

This vulnerability is classified as CWE-918: Server-Side Request Forgery (SSRF). SSRF vulnerabilities occur when an application can be induced to make HTTP requests to arbitrary destinations while running on the server, effectively turning the server into a proxy for the attacker.

In the context of GitLab EE, the vulnerability exists in functionality that processes user-controlled input to construct network requests. Under certain conditions, an authenticated user with specific permissions can manipulate this functionality to forge requests to internal network resources that would normally be inaccessible from outside the network perimeter.

The network-based attack vector allows exploitation from remote locations, though authentication is required and specific permissions must be held by the attacker, which limits the scope of potential exploitation.

Root Cause

The root cause of this vulnerability lies in insufficient validation of user-supplied input that is used to construct network requests within GitLab EE. The application fails to adequately restrict or validate URLs or destination addresses provided by users, allowing requests to be directed to internal network services. This insufficient input validation enables authenticated users to bypass intended network boundaries and access resources on the internal network through the GitLab server.

Attack Vector

The attack vector requires an authenticated user with certain permissions within the GitLab EE instance. The attacker can manipulate request parameters or URLs processed by vulnerable GitLab functionality to target internal network services. Common SSRF attack patterns include:

The vulnerability allows network-based attacks where authenticated users craft malicious requests that cause the GitLab server to connect to arbitrary internal endpoints. This could include accessing internal APIs, metadata services in cloud environments, or other sensitive services that trust requests from the GitLab server's IP address. The attacker does not require any user interaction to exploit this vulnerability.

Detection Methods for CVE-2025-12575

Indicators of Compromise

  • Unusual outbound network connections from the GitLab server to internal services or cloud metadata endpoints (e.g., 169.254.169.254)
  • HTTP requests in GitLab logs containing internal IP addresses or localhost references in user-controlled parameters
  • Anomalous API calls from authenticated users targeting functionality that processes external URLs
  • Network traffic from the GitLab server to unexpected internal ports or services

Detection Strategies

  • Monitor GitLab server outbound network traffic for connections to internal network ranges (10.x.x.x, 172.16.x.x-172.31.x.x, 192.168.x.x)
  • Implement network segmentation and monitor for policy violations from GitLab server IPs
  • Review GitLab application logs for suspicious URL parameters containing internal addresses or localhost
  • Deploy web application firewall rules to detect SSRF patterns in request parameters

Monitoring Recommendations

  • Enable detailed logging for GitLab EE API requests and monitor for suspicious URL manipulation patterns
  • Configure network monitoring to alert on GitLab server connections to sensitive internal services
  • Implement egress filtering rules and monitor violations from the GitLab server
  • Review authentication logs for users with elevated permissions accessing URL-processing functionality

How to Mitigate CVE-2025-12575

Immediate Actions Required

  • Upgrade GitLab EE to patched versions: 18.6.6, 18.7.4, or 18.8.4 depending on your current version branch
  • Review user permissions and restrict access to functionality that may be involved in SSRF exploitation
  • Implement network segmentation to limit the GitLab server's ability to access sensitive internal services
  • Enable egress filtering to restrict outbound connections from the GitLab server to approved destinations only

Patch Information

GitLab has released patched versions that address this SSRF vulnerability. Organizations running affected versions should upgrade immediately:

  • Upgrade to GitLab EE 18.6.6 or later for the 18.6.x branch
  • Upgrade to GitLab EE 18.7.4 or later for the 18.7.x branch
  • Upgrade to GitLab EE 18.8.4 or later for the 18.8.x branch

For detailed patch information, refer to the GitLab Patch Release Announcement. Additional technical details can be found in the GitLab Issue Discussion and the HackerOne Security Report.

Workarounds

  • Implement strict network egress controls to prevent the GitLab server from connecting to internal services or cloud metadata endpoints
  • Use a web application firewall (WAF) to filter requests containing SSRF patterns targeting internal IP ranges
  • Review and restrict user permissions to minimize the number of accounts with access to affected functionality
  • Place the GitLab server in a network segment with limited access to sensitive internal resources
bash
# Example: Configure iptables to restrict GitLab server egress to internal networks
# Block access to internal network ranges from GitLab server
iptables -A OUTPUT -d 10.0.0.0/8 -j DROP
iptables -A OUTPUT -d 172.16.0.0/12 -j DROP
iptables -A OUTPUT -d 192.168.0.0/16 -j DROP
iptables -A OUTPUT -d 169.254.169.254 -j DROP

# Note: Adjust rules based on your environment and ensure
# legitimate GitLab integrations are not affected

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.