Servers and applications
GHSA-3985-45jm-558m
Login V1: Authentication bypass in the OIDC authorization code flow
- Severity
- High 8.1
- Published
- 13 Nov 2026
- Last changed
- 13 Nov 2026
- Added to UpHeron
- 13 Nov 2026
- Fixed in
- 4.20.3
- Attack
- Over the network · Needs a user account · No user action needed
- Attacker can
- Read data · Change data
- CVSS vector
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:N- Sources
- Project advisories (GitHub)
Description
ZITADEL’s hosted Login V1 UI allowed an attacker who can sign in to an instance with their own account, and who knows a victim’s login name, to obtain OIDC tokens for the victim without the victim’s credentials.
Authorization codes issued at the end of a Login V1 sign-in were not reliably bound to the user who completed that sign-in, so the token endpoint could issue tokens for a user who had not authenticated.
An attacker who can complete a Login V1 sign-in with their own account and knows a victim’s login name can:
- Sign in to an OIDC application as the victim — the application receives an ID token, an access token, a refresh token if requested, and userinfo for the victim.
- Bypass all of the victim’s authentication — none of the victim’s factors (password, passkeys, TOTP, OTP-SMS, OTP-Email, U2F) or external identity provider sign-ins are checked.
- Act with the victim’s roles and grants in that application.
Workarounds
The recommended solution is to upgrade to a patched version.
Affected software
| Software | Affected versions |
|---|---|
ZITADELServers and applications · github:zitadel/zitadel |
|
References
- GitHub Advisory Database https://github.com/advisories/GHSA-3985-45jm-558m
- github.com https://github.com/zitadel/zitadel/security/advisories/GHSA-3985-45jm-558m