Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate to GitLab instance
-
DeliveryIssue concurrent MCP search requests
-
ExploitRace shared-state handling window
-
ExecutionReceive results under another user's context
-
ImpactDisclose 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. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – 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
Affected Packages
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
AV:N/AC:H/PR:L/UI:N/S:U/C:L/I:N/A:N
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.
Primary rating from Vendor (GitLab).
CVSS VectorVendor: GitLab
Lifecycle Timeline
2DescriptionCVE.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
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.
What every action level means
SSVC AssessmentENISA
Priority Score
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).
An issue has been discovered in GitLab CE/EE affecting all versions starting from 11.9. Rated critical severity (CVSS 10
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.
When requests to the internal network for webhooks are enabled, a server-side request forgery vulnerability in GitLab af
Unauthenticated arbitrary file read in GitLab CE/EE lets remote attackers retrieve files from the GitLab server via the
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
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
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)
Sensitive credential and configuration disclosure in GitLab Enterprise Edition allows an authenticated user with Duo Cha
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
Authenticated code execution on the GitLab server is possible in GitLab CE/EE 19.2 through 19.4.0, where an integer over
Authenticated users who can define or modify a CI/CD configuration can achieve remote code execution on GitLab CE/EE ser
Unauthenticated path traversal in the @zereight/mcp-gitlab Model Context Protocol server prior to version 2.1.27 allows
EUVD-2026-85731
GHSA-vp7f-562j-4qgr
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB