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

Source: https://junglewise.ai/threats/cve-2026-56668-zitadel-privilege-escalation-in-oauth2-token-exchange  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-07-10. Updated: 2026-09-25  
License: CC BY 4.0 with a link back

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)](https://junglewise.ai/threats/technologies/github-com-zitadel-zitadel), [ZITADEL](https://junglewise.ai/threats/technologies/zitadel). Vendors: [Go](https://junglewise.ai/threats/vendors/go), [ZITADEL](https://junglewise.ai/threats/vendors/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

  ```sh
  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

- [https://api.github.com/users/thesecguy45](https://api.github.com/users/thesecguy45)
- [https://github.com/thesecguy45](https://github.com/thesecguy45)
- [https://api.github.com/users/thesecguy45/gists%7B/gist_id%7D](https://api.github.com/users/thesecguy45/gists%7B/gist_id%7D)
- [https://api.github.com/users/thesecguy45/repos](https://api.github.com/users/thesecguy45/repos)
- [https://avatars.githubusercontent.com/u/227870317?v=4](https://avatars.githubusercontent.com/u/227870317?v=4)
- [https://api.github.com/users/thesecguy45/events%7B/privacy%7D](https://api.github.com/users/thesecguy45/events%7B/privacy%7D)

## Related threats

- [ZITADEL missing authorization in Login V2 device authorization](https://junglewise.ai/threats/cve-2026-119129-zitadel-3-0-0-through-3-4-15-and-4-0-0-before-4-19-5-contains-a)
- [ZITADEL authentication bypass in Login V2 UI](https://junglewise.ai/threats/cve-2026-119128-zitadel-4-0-0-before-4-19-5-contains-an-authentication-bypass)
- [ZITADEL Login V2 host header injection in password reset](https://junglewise.ai/threats/cve-2026-119127-zitadel-4-0-0-before-4-19-5-contains-a-host-header-injection)
- [ZITADEL privilege escalation in OIDC token exchange](https://junglewise.ai/threats/cve-2026-109374-zitadel-3-0-0-before-4-19-2-contains-a-privilege-escalation)
- [ZITADEL authentication bypass in Login V2 UI](https://junglewise.ai/threats/cve-2026-109373-zitadel-3-0-0-before-4-19-2-contains-an-authentication-bypass)
