Headline
GHSA-6rrr-78xp-5jp8: Zitadel RefreshToken invalidation vulnerability
Impact
RefreshTokens is an OAuth 2.0 feature that allows applications to retrieve new access tokens and refresh the user’s session without the need for interacting with a UI.
RefreshTokens were not invalidated when a user was locked or deactivated. The deactivated or locked user was able to obtain a valid access token only through a refresh token grant.
When the locked or deactivated user’s session was already terminated (“logged out”) then it was not possible to create a new session. Renewal of access token through a refresh token grant is limited to the configured amount of time (RefreshTokenExpiration).
Patches
2.x versions are fixed on >= 2.17.3 2.16.x versions are fixed on >= 2.16.4
ZITADEL recommends upgrading to the latest versions available in due course.
Workarounds
Ensure the RefreshTokenExpiration in the OIDC settings of your instance is set according to your security requirements.
References
https://zitadel.com/docs/guides/manage/console/instance-settings#oidc-token-lifetimes-and-expiration
Impact
RefreshTokens is an OAuth 2.0 feature that allows applications to retrieve new access tokens and refresh the user’s session without the need for interacting with a UI.
RefreshTokens were not invalidated when a user was locked or deactivated. The deactivated or locked user was able to obtain a valid access token only through a refresh token grant.
When the locked or deactivated user’s session was already terminated (“logged out”) then it was not possible to create a new session. Renewal of access token through a refresh token grant is limited to the configured amount of time (RefreshTokenExpiration).
Patches
2.x versions are fixed on >= 2.17.3
2.16.x versions are fixed on >= 2.16.4
ZITADEL recommends upgrading to the latest versions available in due course.
Workarounds
Ensure the RefreshTokenExpiration in the OIDC settings of your instance is set according to your security requirements.
References
https://zitadel.com/docs/guides/manage/console/instance-settings#oidc-token-lifetimes-and-expiration
References
- GHSA-6rrr-78xp-5jp8
- zitadel/zitadel@301e22c
- zitadel/zitadel@fc892c5
- https://github.com/zitadel/zitadel/releases/tag/v2.16.4
- https://github.com/zitadel/zitadel/releases/tag/v2.17.3
Related news
ZITADEL is a combination of Auth0 and Keycloak. RefreshTokens is an OAuth 2.0 feature that allows applications to retrieve new access tokens and refresh the user's session without the need for interacting with a UI. RefreshTokens were not invalidated when a user was locked or deactivated. The deactivated or locked user was able to obtain a valid access token only through a refresh token grant. When the locked or deactivated user’s session was already terminated (“logged out”) then it was not possible to create a new session. Renewal of access token through a refresh token grant is limited to the configured amount of time (RefreshTokenExpiration). As a workaround, ensure the RefreshTokenExpiration in the OIDC settings of your instance is set according to your security requirements. This issue has been patched in versions 2.17.3 and 2.16.4.