CVE-2026-56664 ZITADEL: Missing Token Lifecyle Validation (`exp` and `iat`) in JWT IdP Provider
Attackers can bypass authentication using arbitrarily old JWT tokens from trusted issuers due to missing token age validation in ZITADEL.
- Exploited in the wild
- Not known
- Login needed
- Any signed-in user
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2026-56664?
CVE-2026-56664 is a medium-severity authentication bypass vulnerability in zitadel, published on 10 Jul 2026. Any signed-in user can exploit it over the network, with no action from the victim.
Official description
ZITADEL is an open source identity management platform. Prior to 3.4.12 and 4.15.2, ZITADEL's external JWT Identity Provider validation in internal/idp/providers/jwt/session.go skips the maximum token age freshness check when an incoming token omits the iat claim, allowing arbitrarily old tokens from a trusted issuer to pass authentication. This issue is fixed in versions 3.4.12 and 4.15.2.
Weakness: CWE-613
Which versions are affected by CVE-2026-56664?
3 open source packages ship an affected version, including github.com/zitadel/zitadel.
| Package | Affected | Fixed in |
|---|---|---|
github.com/zitadel/zitadel Go | All versions | 1.80.0-v2.20.0.20260615122908-fad02c6d9f45 |
github.com/zitadel/zitadel Go | All versions | 1.80.0-v2.20.0.20260615122908-fad02c6d9f45 |
github.com/zitadel/zitadel Go | All versions | 1.80.0-v2.20.0.20260615122908-fad02c6d9f45 |
How do I fix CVE-2026-56664?
Upgrade github.com/zitadel/zitadel to 1.80.0-v2.20.0.20260615122908-fad02c6d9f45 or later.
Upgrade, and rotate credentials and sessions that may have been exposed. More about Authentication bypass.
Is CVE-2026-56664 being exploited?
There is no known exploitation of CVE-2026-56664 in the wild and no public exploit code.
Sources
Also known as GHSA-wxg7-w2v3-w38g, GO-2026-5732.