Skip to main content

GitLab CVE-2026-100104

| EUVDEUVD-2026-98212 LOW
Server-Side Request Forgery (SSRF) (CWE-918)
2026-10-13 GitLab GHSA-mv9g-3c33-88m6
3.5
CVSS 3.1 · Vendor: GitLab
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Authenticate as low-privileged GitLab user
  2. Delivery
    Submit crafted import URL
  3. Exploit
    Win TOCTOU race in URL validation
  4. Execution
    Server fetches internal resource
  5. Impact
    Exfiltrate limited internal data

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V4 - API and Web Service URL allowlisting, SSRF prevention
MITRE ATT&CK

2 techniques across 2 tactics: Initial Access, Credential Access

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

Exploitation requires an authenticated GitLab CE/EE user who has access to repository import functionality (PR:L), and the attacker must successfully win a time-of-check to time-of-use race condition in the URL validation path during a repository import operation - the core limiting factor reflected in AC:H. The description notes it is only exploitable 'under certain conditions,' indicating it is not reliably triggerable; the attacker must repeatedly race the validation/fetch window, which is timing-dependent and generally not automatable. No special non-default feature beyond the standard import capability is named, but a valid account with import rights and the ability to reach the instance over the network are prerequisites. Affected deployments are those running versions from 10.3 up to the fixed releases (19.2.8, 19.3.5, 19.4.2).

Impact

This is a genuinely low-priority issue despite being a server-side request forgery flaw, and the signals are internally consistent rather than conflicting. The CVSS 3.1 base score is only 3.5 (LOW), driven by a demanding combination: AV:N (network reachable) but AC:H (high complexity) because exploitation hinges on winning a time-of-check to time-of-use race condition in URL validation, PR:L (an authenticated user is required), and limited impact of C:L/I:N/A:N with S:C reflecting that the SSRF can pivot to internal network resources outside the vulnerable component's authorization scope. No EPSS score, KEV listing, or POC was provided in the input, so there is no evidence of exploitation probability or active abuse - no public exploit identified at time of analysis. The AC:H race condition is the dominant mitigating factor: reliably timing the check/use window is non-trivial and typically not automatable, which aligns with the low CVSS. No SSVC decision data was supplied. Overall this reads as a real-but-low-risk hardening fix rather than an urgent threat; defenders should patch on a normal cycle. No conflicting signals were detected between the CVSS vector and the description - both agree on an authenticated, network-reachable, low-impact SSRF.

Exploit ScenarioDerived

An authenticated GitLab user with permission to import a repository supplies a crafted import URL and repeatedly triggers the import, racing the gap between URL validation and the actual fetch so that a blocked internal address is substituted after passing validation. Winning this race lets the server issue requests to internal-only resources (e.g., metadata services or internal hosts), returning limited information to the attacker. No public exploit is known, and the high attack complexity (race condition) makes reliable exploitation difficult.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
Patch available 0.2% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Oct 13, 2026

Server-side request forgery in GitLab CE/EE (all versions from 10.3 before 19.2.8, 19.3 before 19.3.5, and 19.4 before 19.4.2) allows an authenticated user with repository import rights to reach internal network resources by winning a time-of-check to time-of-use race condition in the URL validation performed during import operations. The base score is low (CVSS 3.1 3.5, AV:N/AC:H/PR:L/UI:N/S:C/C:L/I:N/A:N): the attacker must repeatedly race the validation and fetch windows, so the flaw does not trigger reliably and yields only limited confidentiality impact with no integrity or availability effect. There is no public exploit identified at time of analysis and no confirmed active exploitation; the primary risk is limited internal-network reconnaissance or access to internal services from a GitLab instance that can route to them.

RemediationAI

Vendor-released patch: upgrade to 19.2.8, 19.3.5, or 19.4.2 depending on the release line your instance tracks; these are the versions named in the advisory at https://docs.gitlab.com/releases/patches/patch-release-gitlab-19-4-2-released/ and the underlying fix is tracked in https://gitlab.com/gitlab-org/gitlab/-/work_items/594194. If immediate upgrade is not possible, the most effective compensating control is to break the SSRF path at the network layer rather than in the application: block outbound traffic from GitLab nodes to internal RFC1918 ranges, loopback, and link-local/metadata endpoints such as 169.254.169.254 using host or perimeter firewall rules or an egress proxy with an allowlist, accepting the trade-off that legitimate imports or mirrors of repositories hosted on internal or non-allowlisted hosts will fail. A second control is to reduce the attack surface by disabling the URL-based import sources that rely on this code path, for example the "Repository by URL" import source under Admin Area > Settings > General > Import and export settings, or restricting import permissions at the group level so only trusted maintainers can initiate imports; the trade-off is that normal migration and mirroring workflows are blocked until the restriction is lifted. Because the exploitation window is a narrow race, detection via request logs is unreliable, so also monitor GitLab and egress logs for outbound connections from the GitLab host to internal services or cloud metadata addresses as a compensating detective measure. As the flaw requires an authenticated account with import rights, reviewing and trimming import privileges across groups is a low-cost interim hardening step.

Affected VersionsENISA

GitLab 19.3 <19.3.5
GitLab 10.3 <19.2.8
GitLab 19.4 <19.4.2

Affected Packages

euvd gitlab fix: 19.2.8, 19.3.5, 19.4.2

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The issue is a classic CWE-918 server-side request forgery compounded by a CWE-367-style time-of-check to time-of-use weakness. GitLab's repository import feature accepts a user-supplied URL (for example a Git repository by URL) and, before fetching it, performs validation intended to block requests to internal or otherwise disallowed destinations. Because the validation of the URL and the subsequent outbound fetch are separate operations, an authenticated user can attempt to alter or redirect the target between the check and the use, so the fetch proceeds to an address the validation had rejected. The CPE string cpe:2.3:a:gitlab:gitlab:*:*:*:*:*:*:*:* is the generic GitLab product entry and applies to both the Community and Enterprise editions. The changed-scope component of the CVSS vector (S:C) reflects that the vulnerable GitLab application acts as a pivot: the attacker's requests are processed by GitLab, but the resulting network requests terminate on other hosts inside the deployment's network, so the confidentiality impact is scored against resources outside GitLab itself. The AC:H rating captures the timing dependence of the race, PR:L confirms the actor must already be an authenticated user, and the confidentiality-only low impact reflects that this is a read/reachability primitive rather than a code execution or data-modification flaw.

Know when Gitlab gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (GitLab) PRIMARY 3.5 LOW
AV:N/AC:H/PR:L/UI:N/S:C/C:L/I:N/A:N
vuln.today AI 3.5 LOW

Authenticated user needed (PR:L) and the TOCTOU race makes exploitation timing-dependent (AC:H); SSRF pivots beyond the component (S:C) with only limited information disclosure (C:L).

3.1 AV:N/AC:H/PR:L/UI:N/S:C/C:L/I:N/A:N
4.0 AV:N/AC:H/AT:P/PR:L/UI:N/VC:N/VI:N/VA:N/SC:L/SI:N/SA:N

Primary rating from Vendor (GitLab).

CVSS VectorVendor: GitLab

Attack Vector
Network
Attack Complexity
High
Privileges Required
Low
User Interaction
None
Scope
Changed
Confidentiality
Low
Integrity
None
Availability
None

Lifecycle Timeline

2
Patch available
Oct 13, 2026 - 03:16 EUVD
CVE Published
Oct 13, 2026 - 01:05 cve.org
LOW 3.5

DescriptionCVE.org

GitLab has remediated an issue in GitLab CE/EE affecting all versions from 10.3 before 19.2.8, 19.3 before 19.3.5, and 19.4 before 19.4.2 that, under certain conditions, could have allowed an authenticated user to perform server-side request forgery and reach internal network resources due to a time-of-check to time-of-use race condition in URL validation during repository import operations.

Threat Intelligence Overview

EPSS Score
0.2%
Top 92% exploitable
Prevalence
High
widely deployed enterprise DevOps platform across many organizations
Social Media
2
Sightings
Data Quality
5 sources
Confidence: Medium

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity LOW
CISA KEV No
Public POC No
EPSS 0.2%
Patch available Yes
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
High

Priority Score

18
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +18
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Server-Side Request Forgery exploits applications that fetch remote resources based on user-supplied URLs.

More in Gitlab

View all
CVE-2021-22205 CRITICAL POC
10.0 Apr 23

An issue has been discovered in GitLab CE/EE affecting all versions starting from 11.9. Rated critical severity (CVSS 10

CVE-2023-7028 CRITICAL POC
10.0 Jan 12

An issue has been discovered in GitLab CE/EE affecting all versions from 16.1 prior to 16.1.6, 16.2 prior to 16.2.9, 16.

CVE-2021-22175 CRITICAL POC
9.8 Jun 11

When requests to the internal network for webhooks are enabled, a server-side request forgery vulnerability in GitLab af

CVE-2026-85706 CRITICAL POC
10.0 Sep 12

Unauthenticated arbitrary file read in GitLab CE/EE lets remote attackers retrieve files from the GitLab server via the

CVE-2013-4490 MEDIUM POC
6.5 May 13

The SSH key upload feature (lib/gitlab_keys.rb) in gitlab-shell before 1.7.3, as used in GitLab 5.0 before 5.4.1 and 6.x

CVE-2022-2992 CRITICAL POC
9.9 Oct 17

A vulnerability in GitLab CE/EE affecting all versions from 11.10 prior to 15.1.6, 15.2 to 15.2.4, 15.3 to 15.3.2 allows

CVE-2026-87719 CRITICAL POC
9.9 Sep 12

Sensitive credential and configuration disclosure in GitLab Enterprise Edition allows an authenticated user with Duo Cha

CVE-2018-18843 CRITICAL POC
10.0 Dec 04

The Kubernetes integration in GitLab Enterprise Edition 11.x before 11.2.8, 11.3.x before 11.3.9, and 11.4.x before 11.4

CVE-2026-93577 CRITICAL POC
9.9 Sep 23

Authenticated code execution on the GitLab server is possible in GitLab CE/EE 19.2 through 19.4.0, where an integer over

CVE-2026-89078 CRITICAL POC
9.9 Sep 23

Authenticated users who can define or modify a CI/CD configuration can achieve remote code execution on GitLab CE/EE ser

CVE-2026-61560 CRITICAL POC
9.8 Sep 15

Unauthenticated path traversal in the @zereight/mcp-gitlab Model Context Protocol server prior to version 2.1.27 allows

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy