CVE-2026-15723: GitLab CE/EE improper authentication in OmniAuth-to-LDAP auto-linking email lookup allows account takeover
CVE-2026-15723 lets an authenticated GitLab user take over another user's LDAP-backed account, with no action from the victim, on self-managed GitLab CE/EE servers where SAML OmniAuth and LDAP auto-linking are both enabled. It affects versions from 10.1. Upgrade to 19.5.1, 19.4.3 or 19.3.6.
Published Oct 21, 2026 · Analysis Oct 22, 2026
What an attacker can do
When a user signs in through an OmniAuth provider such as SAML, GitLab can automatically link that identity to an existing LDAP account by looking up the account's email address in LDAP. GitLab says the input used in that LDAP email lookup was not properly sanitized. An attacker who controls the email value presented during the SAML sign-in can make the lookup match a different LDAP user, and GitLab then links the attacker's identity to that user's account.
The attacker needs a valid account and the ability to complete a SAML sign-in, which is why the CVSS vector lists low privileges and high complexity. There is no user interaction, and the scope change reflects that the attacker ends up acting as someone else, potentially an administrator or a maintainer of sensitive projects. In practice that means access to the victim's repositories, CI/CD settings, tokens and group permissions.
Who is affected
Self-managed GitLab CE/EE from 10.1 before 19.3.6, 19.4 before 19.4.3 and 19.5 before 19.5.1, and only where SAML OmniAuth and LDAP auto-linking are both turned on. Check gitlab.rb for omniauth_auto_link_ldap_user set to true together with a SAML provider in omniauth_providers, and check the version:
sudo grep -nE 'omniauth_auto_link_ldap_user|omniauth_providers' /etc/gitlab/gitlab.rb
sudo gitlab-rake gitlab:env:info | grep -A2 'GitLab information'How to fix it
Upgrade to 19.5.1, 19.4.3 or 19.3.6. Lines 19.2 and older received only the critical regex fix in this release, so move to a supported line that includes this one.
If you cannot upgrade at once, turning off LDAP auto-linking for OmniAuth sign-ins (omniauth_auto_link_ldap_user set to false, then gitlab-ctl reconfigure) removes the vulnerable path, at the cost of users linking identities manually.
How to tell if you were hit
Review audit events for identity links: new SAML identities attached to existing LDAP users, especially administrators, and sign-ins where the SAML email does not match the account's LDAP email. Unexpected admin sessions, new personal access tokens or SSH keys on privileged accounts after a SAML sign-in are strong signals. Reset sessions and tokens for any account that shows an unexplained link.
Original advisory
From the National Vulnerability Database. This product uses the NVD API but is not endorsed or certified by the NVD.
When OmniAuth SAML and LDAP auto-linking were both enabled, an authenticated user could have taken over an existing LDAP-backed account without any interaction from the targeted user, due to improper input sanitization in the LDAP email lookup path used during OmniAuth identity linking. Impacted versions: GitLab CE/EE all versions from 10.1 before 19.3.6, 19.4 before 19.4.3, and 19.5 before 19.5.1. Fixed in GitLab CE/EE 19.5.1, 19.4.3 and 19.3.6, released October 21, 2026.
Credited to stealthy.
Questions
- Does CVE-2026-15723 affect GitLab without SAML?
No. GitLab says the account takeover requires both OmniAuth SAML and LDAP auto-linking to be enabled. Instances that use only LDAP, only SAML, or neither are not exposed to this path.
- Can an anonymous attacker exploit CVE-2026-15723?
No. The attacker needs to be authenticated and able to complete a SAML sign-in, which is why the CVSS vector lists low privileges and high attack complexity.
References
How this page is made: the data panel comes from the GitHub Advisory Database, CISA’s KEV catalog, the NVD and FIRST EPSS, and updates twice a day. The analysis is written by an AI model from the sources listed above and checked by automated rules before it is published. Check versions against the vendor's advisory before you act. Methodology
Coverage on the Beam blog
More GitLab vulnerabilities
All GitLab entriesCVE-2026-103515
GitLab EE improper access control in group Duo admin-lock enforcement for Amazon Q settings
low2.7Oct 21, 2026CVE-2026-105711
GitLab CE/EE use of cache containing sensitive information in merge request title rendering
low3.5Oct 21, 2026CVE-2026-105777
GitLab CE/EE internal credential exposure in internal response headers
medium4.3Oct 21, 2026CVE-2026-110264
GitLab CE/EE integer overflow in regular expression compiler allows unauthenticated remote code execution
critical10.0Oct 21, 2026CVE-2026-112212
GitLab CE/EE cache poisoning in OAuth/OIDC discovery endpoints
high7.5Oct 21, 2026CVE-2026-112326
GitLab EE improper cleanup on thrown exception in security findings
low3.1Oct 21, 2026
