Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate as low-privilege GitLab user
-
ExploitIdentify membership request predating lock
-
ExecutionGrant or accept membership outside IdP
-
ImpactGain unauthorized project/group access
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V8 - Authorization Authorization logic validation
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 that the instance-wide SAML or LDAP membership lock feature is ENABLED on a GitLab EE instance (not Community Edition), and that a project/group membership request or invitation was created BEFORE that lock was enabled - the flaw is incomplete enforcement of the lock on pre-existing requests. The attacker must be an authenticated user (PR:L) with a relevant pending membership action. Limiting factors: this does not affect default/CE installs, does not work against requests created after the lock is active, needs no user interaction but is state-dependent (hence CVSS AC:H), and confers unauthorized project/group membership rather than full administrative takeover. |
| Impact | This is a genuine but moderate-priority authorization flaw, not a drop-everything emergency. The provided CVSS 3.1 vector (AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:L/A:N, base 5.9) is internally consistent with the description: network-reachable (AV:N), requires an authenticated low-privilege user (PR:L), needs no victim interaction (UI:N), but carries high attack complexity (AC:H) because exploitation only works against project/group membership requests that were created BEFORE the instance-wide SAML/LDAP membership lock was enabled - a narrow, timing/state-dependent precondition rather than a repeatable condition on default installs. POC/exploit code is publicly referenced (HackerOne #3809350), so exploitability is demonstrated, but there is no CISA KEV entry and no EPSS score supplied, meaning there is no evidence of active or widespread exploitation. The high-confidence signals (vendor-reported by GitLab, patched across maintained branches, public POC) point to a credible, bounded insider/low-privilege escalation rather than a mass-exploited internet threat. Net: real and worth patching on normal cadence for affected EE instances that actually use membership lock, but the AC:H precondition and absence of KEV/EPSS argue against treating it as a high-urgency widespread risk. Note the signals are not conflicting - they consistently describe a conditional, authenticated-only issue. |
| Exploit ScenarioDerived | On a GitLab EE instance where instance-wide SAML or LDAP membership lock is enabled to centralize access through the identity provider, an authenticated low-privilege user who had a pending project or group membership request (or invite) created before the lock took effect grants or accepts that membership, bypassing the IdP's control over group/project access. A public exploit write-up exists (HackerOne #3809350), demonstrating the bypass, though the pre-lock request precondition limits reliable reproduction. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 22, 2026
An authorization bypass in GitLab Enterprise Edition (versions 12.0 through 19.3.5, 19.4.0-19.4.2, and 19.5.0) lets an authenticated user grant or accept project and group membership outside identity provider control when the instance-wide SAML or LDAP membership lock is enabled. The flaw stems from incomplete enforcement of the membership lock against membership requests or invitations that were created before the lock was turned on, so it is state-dependent: it does not affect Community Edition or default installs, and it does not work against requests created after the lock is active. Publicly available exploit code and a HackerOne report exist, but there is no CISA KEV confirmation of active exploitation; it yields unauthorized project/group membership rather than administrative takeover.
RemediationAI
Vendor-released patch: upgrade GitLab EE to 19.3.6, 19.4.3, or 19.5.1 (or later) per the patch release notes at https://docs.gitlab.com/releases/patches/patch-release-gitlab-19-5-1-released/. Because exploitation depends on pending memberships created before the SAML/LDAP membership lock was enabled, administrators who cannot patch immediately should audit and revoke outstanding project and group invitations and membership requests that predate the lock (GitLab admin/group member and invitation views), then re-issue only those authorized by the identity provider - a manual, ongoing process that must be repeated as new pre-lock requests surface and does not fix the underlying enforcement gap. Restricting the ability to create invitations or request membership to trusted roles, or temporarily disabling new invitations pending upgrade, reduces exposure but adds administrative overhead and can disrupt legitimate onboarding. Do not rely on Community Edition or re-enabling the lock alone: the flaw is specifically the failure to apply the lock to pre-existing requests. Review the HackerOne report (https://hackerone.com/reports/3809350) and tracking work item (https://gitlab.com/gitlab-org/gitlab/-/work_items/606479) for indicators of abuse.
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
CWE-863 (Incorrect Authorization) in GitLab EE's SAML/LDAP group sync and membership-lock logic. When an administrator enables the instance-wide SAML or LDAP membership lock, GitLab is supposed to reject all membership invitations and requests that did not originate from the identity provider. The remediation was incomplete: pending project or group membership requests and invites created before the lock was enabled are not re-validated against the lock, so an authenticated user can still act on them. The CVSS:3.1:AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:L/A:N vector reflects network-reachable, authenticated (PR:L) exploitation that requires a specific pre-existing state (AC:H), affecting confidentiality highly and integrity only partially - consistent with unauthorized membership exposure rather than full control. No user interaction is needed, and the scope is unchanged. CPE cpe:2.3:a:gitlab:gitlab:*:*:*:*:*:*:*:* covers the broad affected range across GitLab EE 12.0 through 19.5.0.
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:H/I:L/A:N
Authenticated user (PR:L) exploits network-reachable GitLab (AV:N); narrow pre-lock-request precondition gives AC:H; unauthorized membership exposes repos (C:H) and alters membership (I:L).
Primary rating from Vendor (GitLab).
CVSS VectorVendor: GitLab
Lifecycle Timeline
2DescriptionCVE.org
GitLab has remediated an issue in GitLab EE affecting all versions from 12.0 before 19.3.6, 19.4 before 19.4.3, and 19.5 before 19.5.1 that, when the instance-wide SAML or LDAP membership lock was enabled, an authenticated user could have granted or accepted project and group membership outside the identity provider's control, due to incomplete enforcement of the membership lock on requests created before the lock was enabled.
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
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)
Remote code execution in GitLab CE/EE can be triggered by a specially crafted regular expression processed through a vul
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 command injection in Dokploy (self-hostable PaaS) versions 0.29.3 through 0.29.12 lets a low-privileged us
Authenticated code execution on the GitLab server is possible in GitLab CE/EE 19.2 through 19.4.0, where an integer over
EUVD-2026-107676
GHSA-m22v-48hx-jv7m
NVD
CVE.org
EPSS
Exploit-DB