PT-2026-50741 · Zitadel · Zitadel

CVE-2026-55672

·

Published

2026-06-18

·

Updated

2026-07-30

CVSS v3.1

7.4

High

VectorAV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N
Name of the Vulnerable Software and Affected Versions Zitadel versions 4.0.0 through 4.15.1 Zitadel versions 3.0.0 through 3.4.11
Description The OAuth2 / OIDC CodeExchange and RefreshToken implementations fail to validate that the requesting client matches the client that originally initiated the authorization flow, violating RFC 6749 Section 4.1.3. This allows for authorization code injection, where an intercepted code can be exchanged using credentials from a different client registered on the same instance. It also enables refresh token cross-use, allowing a stolen refresh token to be used under a different client identity to maintain persistent access. Additionally, an attacker could finalize a device authorization flow using a different client context than the one that initiated the session. These issues can be exploited if a pre-existing vulnerability or data leak allows for the interception of codes or tokens. Clients using PKCE (Proof Key for Code Exchange), a security extension that ensures the client requesting the token is the same one that requested the authorization code, are partially mitigated against code injection but remain vulnerable to refresh token cross-use.
Recommendations Upgrade Zitadel versions 4.0.0 through 4.15.1 to version 4.15.2 or later. Upgrade Zitadel versions 3.0.0 through 3.4.11 to version 3.4.12 or later. Enforce the use of PKCE for all clients to mitigate authorization code injection risk. Minimize refresh token lifespans to reduce the window of opportunity for token cross-use.

Exploit

Fix

Incorrect Authorization

Improper Authentication

Found an issue in the description? Have something to add? Feel free to write us 👾

Weakness Enumeration

Related Identifiers

CVE-2026-55672
GHSA-XQXV-4JC2-X56X
GO-2026-5768
OPENSUSE-SU-2026:21483-1

Affected Products

Zitadel