Free AI Safety Workshop — in collaboration with explainx.aiSave your seat
AgentbeamBeta
Open-source package vulnerability · GitLab

CVE-2026-112212: GitLab CE/EE cache poisoning in OAuth/OIDC discovery endpoints

highCVSS 3.1 7.5

CVE-2026-112212 is a cache poisoning flaw in GitLab's OAuth and OpenID Connect discovery endpoints. An unauthenticated attacker could get a shared cache to store a discovery document whose endpoint URLs point at the attacker's server, redirecting some sign-in flows there. It affects self-managed GitLab CE/EE from 18.3; 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

GitLab acts as an OAuth 2.0 and OpenID Connect provider, and clients read its discovery document (the well-known openid-configuration) to learn where the authorization, token and userinfo endpoints are. GitLab says it built those endpoint URLs using values supplied in the request and trusted them. If a shared cache, such as a CDN or reverse proxy in front of GitLab, stores that response, every later client receives the poisoned document.

The result is that applications using GitLab for single sign-on may send users, or exchange codes and tokens, with a server the attacker controls. That can leak authorization codes, tokens or credentials. The vector reflects the preconditions: no account is needed, but the attack depends on a shared cache and on a user starting a sign-in flow. GitLab found this internally.

Who is affected

Self-managed GitLab CE/EE from 18.3 before 19.3.6, 19.4 before 19.4.3 and 19.5 before 19.5.1. Exposure is highest where a shared cache or CDN sits in front of GitLab and caches the discovery endpoints, and where other applications use GitLab as an OAuth or OIDC provider. Inspect the document clients receive:

curl -s https://gitlab.example.com/.well-known/openid-configuration | jq '.issuer, .authorization_endpoint, .token_endpoint'

Every URL should point at your own GitLab host.

How to fix it

Upgrade to 19.5.1, 19.4.3 or 19.3.6. After upgrading, purge the cached discovery documents (/.well-known/openid-configuration and /.well-known/oauth-authorization-server) from any CDN or reverse proxy so a poisoned copy is not served from cache. Configuring the cache not to store these endpoints, or to key them on the full host, reduces the risk until you upgrade.

How to tell if you were hit

Check cached discovery responses for endpoint URLs that do not match your GitLab hostname, and proxy logs for discovery requests carrying unusual Host or forwarded headers. On the client side, look for OAuth flows that redirected users to unfamiliar domains and failed token exchanges. If a poisoned document was served, revoke and reissue OAuth application secrets and tokens issued during that window.

Original advisory

From the National Vulnerability Database. This product uses the NVD API but is not endorsed or certified by the NVD.

Under certain conditions, an unauthenticated user could have poisoned a shared cache's OAuth/OIDC discovery document to redirect certain flows to an externally controlled server, due to improper trust of user-supplied values when constructing endpoint URLs in cached discovery responses. Impacted versions: GitLab CE/EE all versions from 18.3 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.

Questions

Is GitLab.com affected by CVE-2026-112212?

GitLab says GitLab.com already runs the patched version. Self-managed instances from 18.3 need to upgrade, especially if a shared cache or CDN sits in front of them.

Does CVE-2026-112212 need an account?

No account is needed to poison the cache, but the attack only pays off when a user or application starts an OAuth or OpenID Connect flow that reads the poisoned discovery document.

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 entries