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
# 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.


