ZITADEL is an open source identity management platform. Prior to 3.4.12 and 4.15.2, ZITADEL's OAuth2 and OIDC CodeExchange, RefreshToken, and device token flows fail to verify that the requesting client matches the client that initiated the authorization flow, allowing intercepted grants or refresh tokens to be exchanged under a different client. This issue is fixed in versions 3.4.12 and 4.15.2.
https://github.com/zitadel/zitadel/security/advisories/GHSA-xqxv-4jc2-x56x
https://github.com/zitadel/zitadel/releases/tag/v4.15.2
https://github.com/zitadel/zitadel/releases/tag/v3.4.12
https://github.com/zitadel/zitadel/commit/5b1708e0e650398f0ebc3341714f0798b0118917
https://github.com/zitadel/zitadel/commit/562403079a98cf2059cdac11865a45e2f285be71