Severity by source
AV:N/AC:H/PR:L/UI:R/S:U/C:L/I:L/A:N
Developer-role authentication (PR:L), specific undisclosed file-naming conditions (AC:H), and passive reviewer interaction (UI:R) are all required; integrity impact from hidden code changes (I:L) with no availability effect.
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 15.9 before 18.10.8, 18.11 before 18.11.5, and 19.0 before 19.0.2 that under certain conditions could have allowed an authenticated user with developer-role permissions to hide changes from merge request diff views due to improper input handling of file names.
AnalysisAI
Merge request diff manipulation in GitLab CE/EE allows authenticated users with developer-role permissions to hide file changes from code reviewers by exploiting improper input handling of file names, undermining the integrity of the code review process. Publicly available exploit code exists via HackerOne report #3638136 (tagged 'exploit' in vendor references), though no confirmed active exploitation has been recorded in CISA KEV. The vulnerability spans a broad version range from 15.9 through the patched releases, meaning self-managed GitLab deployments without current patch levels are at risk from malicious insiders or compromised developer accounts bypassing review gates.
Technical ContextAI
GitLab CE/EE's merge request diff rendering engine uses file names as keys to build and present change views to code reviewers. CWE-639 (Authorization Bypass Through User-Controlled Key) describes exactly this failure mode: user-supplied input - here, file names crafted by the committing developer - is consumed without sufficient sanitization or validation, allowing that user to influence what data is surfaced in the authorization-adjacent diff display. The affected CPE (cpe:2.3:a:gitlab:gitlab:*:*:*:*:*:*:*:*) covers both Community Edition and Enterprise Edition deployments. The flaw persisting from version 15.9 onward suggests the vulnerable file-name handling logic has been present across many release cycles. The attack surface is GitLab's diff view pipeline, which transforms raw Git tree data into a human-readable reviewer interface - a layer that sits between the repository and the human code review gate.
RemediationAI
Upgrade self-managed GitLab CE/EE instances to 18.10.8, 18.11.5, or 19.0.2 as documented in the vendor patch release at https://about.gitlab.com/releases/2026/06/10/patch-release-gitlab-19-0-2-released/. GitLab.com deployments were patched by the vendor and require no customer action. For self-managed instances unable to patch immediately, the most actionable compensating control is to audit and restrict developer-role membership to verified, trusted personnel only - reducing the pool of accounts that could stage this attack. Requiring mandatory secondary or senior-reviewer approval before merge (configured via GitLab's protected branch rules and approval policies) adds a second human check that partially mitigates the risk of one reviewer being deceived. Note that these controls do not eliminate the vulnerability and carry the trade-off of increased review friction. Monitoring merge requests for anomalous or unusual file-naming patterns (e.g., files with control characters, homoglyphs, or non-standard Unicode) may surface exploitation attempts but is operationally intensive and not a reliable substitute for patching.
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.
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
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
The Ruby SAML library is for implementing the client side of a SAML authorization. Rated critical severity (CVSS 9.8), t
A hardcoded password was set for accounts registered using an OmniAuth provider (e.g. Rated critical severity (CVSS 9.8)
An issue has been discovered in GitLab CE/EE affecting all versions starting from 12.10 before 14.6.5, all versions star
When requests to the internal network for webhooks are enabled, a server-side request forgery vulnerability in GitLab af
An issue has been discovered in GitLab CE/EE affecting all versions starting from 13.7.9 before 13.8.7, all versions sta
An issue was discovered in GitLab Omnibus 7.4 through 12.2.1. Rated critical severity (CVSS 9.8), this vulnerability is
An issue was discovered in GitLab Community and Enterprise Edition 9.x, 10.x, and 11.x before 11.5.8, 11.6.x before 11.6
Same technique Authentication Bypass
View allShare
External POC / Exploit Code
Leaving vuln.today
EUVD-2026-36228
GHSA-7mq5-3vcf-v96v