CVE-2026-56668: ZITADEL privilege escalation in OAuth2 Token Exchange

CVE-2026-56668 · Severity: high · CVSS 8.1 · Published 2026-07-10

ZITADEL is an open-source identity and access management (IAM) platform that manages user authentication and authorization. A vulnerability in its OAuth2 Token Exchange feature allows an authenticated user or application to exchange a low-privilege access token for one with elevated permissions at a different application, bypassing the platform's authorization policies. An attacker could gain administrative access, read sensitive user data, or compromise multiple applications within the ZITADEL system.

Technologies: github.com/zitadel/zitadel (Go), ZITADEL. Vendors: Go, ZITADEL.

Quick answers

Is CVE-2026-56668 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-56668 being exploited in the wild.
How severe is CVE-2026-56668?
High severity, with a CVSS score of 8.1, published 10 July 2026.
Which products and versions are affected?
github.com/zitadel/zitadel (Go) < 4.15.3, SEMVER:introduced=0, SEMVER:introduced=0,fixed=4.15.3; ZITADEL 3.0.0 - 3.4.12, 4.0.0 - 4.15.2, 4.0.0 through 4.15.2, 3.0.0 through 3.4.12.
Is there a fix for CVE-2026-56668?
Yes. github.com/zitadel/zitadel (Go): upgrade to 4.15.3 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.
How is CVE-2026-56668 attacked?
It is attacked over the network, in a hosted service.
Am I affected by CVE-2026-56668?
Check whether you run github.com/zitadel/zitadel (Go) or ZITADEL at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

How to fix

  • github.com/zitadel/zitadel (Go): upgrade to 4.15.3 or later
    go get github.com/zitadel/zitadel@v4.15.3

Technical details

The vulnerability is a missing authorization check (CWE-862) in the OAuth2 Token Exchange endpoint (grant type `urn:ietf:params:oauth:grant-type:token-exchange`). ZITADEL fails to validate that an incoming access token belongs to or is authorized for the client initiating the exchange, and does not enforce that newly requested scopes remain within the boundaries of the original token's scopes. An authenticated attacker can send a token exchange request to a highly-privileged target application, exchanging their low-privilege token for one with administrative rights. The attack requires only low privilege level and network access; user interaction is not needed. Public clients (which require no client secret) make the attack significantly easier. Patches are available in version 4.15.3 for both 4.x and 3.x branches; the fix implements strict audience ownership verification and scope restriction enforcement.

Affected products

  • ZITADEL ZITADEL 4.0.0 through 4.15.2, 3.0.0 through 3.4.12

Identifiers

  • CVE-2026-56668
  • GHSA-vrh8-c9cm-wh8v
  • GO-2026-6474

Timeline

  • 2026-06-22: disclosed
  • 2026-06-22: patched: Patch released as v4.15.3
  • 2026-09-14: advisory

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.