Skip to main content

GitLab EUVDEUVD-2026-85731

| CVE-2026-92628 LOW
Race Condition (CWE-362)
2026-09-23 GitLab GHSA-vp7f-562j-4qgr
3.1
CVSS 3.1 · Vendor: GitLab
View

Attack ChainAIDerived

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

  1. Access
    Authenticate to GitLab instance
  2. Delivery
    Issue concurrent MCP search requests
  3. Exploit
    Race shared-state handling window
  4. Execution
    Receive results under another user's context
  5. Impact
    Disclose cross-user search data

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V15 - Secure Coding and Architecture Concurrency control, locking
MITRE ATT&CK

1 technique across 1 tactic: Privilege Escalation

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

Exploitation Conditions

Exploitation requires the GitLab MCP (Model Context Protocol) search tool feature to be in use and reachable by an authenticated user (PR:L), plus concurrent search activity from multiple user contexts so that the race condition in the tool's shared-state handling can be hit. The trigger is inherently non-deterministic - the attacker must win a timing window (AC:H), which cannot be forced reliably - and the outcome is limited to disclosure of search results under an incorrect user context (C:L only). Instances not using the MCP search tool, or on patched versions (19.2.7, 19.3.3, 19.4.1 and later), are not exposed.

Impact

This is a genuinely low-priority issue whose modest CVSS 3.1 base score of 3.1 accurately reflects real-world risk. The vector CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:N combines high attack complexity (AC:H) with a race-condition trigger (CWE-362), meaning exploitation depends on winning a non-deterministic timing window in the MCP search tool's shared-state handling - not something an attacker can reliably force. Impact is limited to low confidentiality (C:L) with no integrity or availability effect: an authenticated user (PR:L) could inadvertently or opportunistically receive search results computed under another user's context, a cross-user information-leak rather than full data compromise. No EPSS score, no CISA KEV listing, and no public POC were provided, and none would be expected for a timing-dependent leak of this nature - exploitation status is best characterized as no public exploit identified at time of analysis. No signals conflict here: low CVSS, high complexity, and absence of exploitation evidence all point the same direction. This is a legitimate defect to patch on a normal cadence, not an emergency.

Exploit ScenarioDerived

An authenticated GitLab user issuing MCP (Model Context Protocol) search queries concurrently with other users could, when a race condition in the tool's shared state is hit, receive search results that were resolved under a different user's authorization context, disclosing repository or project data they should not see. Because the trigger is a timing window (AC:H) rather than a deterministic input, reliable exploitation is difficult and success is opportunistic. No public exploit code was identified at the time of analysis.

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

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

Alert me

AnalysisAIv1 – Sep 23, 2026

GitLab CE/EE instances running the Model Context Protocol (MCP) search tool can return search results under the wrong user's context when concurrent searches collide, allowing one authenticated user to view another user's search output. The flaw is a race condition (CWE-362) that affects versions from 18.6 before 19.2.7, 19.3 before 19.3.3, and 19.4 before 19.4.1, and carries a low CVSS 3.1 base score with only a confidentiality impact; the timing window is non-deterministic and cannot be forced reliably. There is no public exploit identified at time of analysis and no CISA KEV listing, and deployment exposure is limited to instances that actually expose the MCP search tool to authenticated users.

RemediationAI

Upgrade to a vendor-patched release: GitLab 19.2.7, 19.3.3 or 19.4.1 (or a later version on the corresponding maintenance track), per the patch release advisory at https://docs.gitlab.com/releases/patches/patch-release-gitlab-19-4-1-released/ and the tracked work item at https://gitlab.com/gitlab-org/gitlab/-/work_items/621933. There is no vendor-supplied workaround documented beyond patching, but because exploitation requires the MCP search tool to be reachable by authenticated users and concurrent multi-user search activity, a practical compensating control for instances that cannot patch immediately is to disable or restrict access to the MCP search tool (for example by removing MCP tokens/integrations or blocking the MCP endpoint at the reverse proxy for all but trusted accounts) - the trade-off is a complete loss of MCP-based search functionality for the affected users. A weaker mitigation is limiting the number of concurrent MCP search users and closing the feature to untrusted roles, which reduces the odds of winning the race but does not reliably eliminate it given the high attack complexity and non-deterministic window. Monitoring or audit logging of MCP search invocations for anomalous result-to-session mismatches can provide detection support, but does not prevent the disclosure. No public exploit code has been identified, so prioritizing this patch against higher-severity KEV items is reasonable; still, treat the fix as a routine maintenance update for all GitLab CE/EE servers in the affected version ranges.

Affected VersionsENISA

GitLab 18.6 <19.2.7
GitLab 19.3 <19.3.3
GitLab 19.4 <19.4.1

Affected Packages

euvd gitlab fix: 19.2.7, 19.3.3, 19.4.1

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 affected component is GitLab's MCP (Model Context Protocol) search tool, an integration layer that lets MCP clients issue search queries against GitLab data on behalf of a specific authenticated user. Root cause is CWE-362 (Concurrent Execution using Shared Resource with Improper Synchronization): the tool's per-request state - including the identity context used to scope search results - appears to be held in shared state that is not properly isolated or synchronized across concurrent invocations. When two or more users trigger searches inside the same narrow window, the shared context can be overwritten or crossed, and results computed for one user's authorization scope are returned to another user's session. The CVSS vector CVSS:3.1/AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:N confirms network reachability of the service, a high attack complexity consistent with winning a timing race, low privileges (PR:L) meaning the attacker is an authenticated user, no user interaction, and impact confined to low confidentiality loss with no integrity or availability effect. CPE cpe:2.3:a:gitlab:gitlab:*:*:*:*:*:*:*:* covers the GitLab CE/EE codebase generally rather than a single fixed-version node, so version-range filtering from the vendor advisory is the authoritative scoping mechanism. Because scope is unchanged (S:U), the leak does not escalate beyond the security context of the MCP search feature itself; the practical blast radius is bounded by whatever data the search tool can surface across the involved accounts.

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.1 LOW
AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:N
vuln.today AI 3.1 LOW

Network-reachable authenticated feature (AV:N/PR:L), but the race condition makes it a hard-to-win timing window (AC:H); impact is limited cross-user data disclosure, so C:L and I/A:N.

3.1 AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:N
4.0 AV:N/AC:H/AT:P/PR:L/UI:N/VC:L/VI:N/VA:N/SC:N/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
Unchanged
Confidentiality
Low
Integrity
None
Availability
None

Lifecycle Timeline

2
Patch available
Sep 24, 2026 - 02:01 EUVD
CVE Published
Sep 23, 2026 - 23:04 cve.org
LOW 3.1

DescriptionCVE.org

GitLab has remediated an issue in GitLab CE/EE affecting all versions from 18.6 before 19.2.7, 19.3 before 19.3.3, and 19.4 before 19.4.1 that under a race condition, the MCP search tool's shared state handling could have caused search results to be returned under an incorrect user context.

Threat Intelligence Overview

EPSS Score
0.1%
Top 98% exploitable
Prevalence
High
GitLab CE/EE is a widely deployed enterprise DevOps/source-management platform
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.1%
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
Defer
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Low
Technical Impact
Partial

Priority Score

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

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

Race conditions occur when multiple concurrent requests exploit the brief time gap between checking a condition and acting upon it (TOCTOU - Time of Check, Time of Use).

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-97229 CRITICAL POC
10.0 Oct 13

Remote code execution in GitLab CE/EE (all versions from 19.2 before 19.2.8, 19.3 before 19.3.5, and 19.4 before 19.4.2)

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