Security
Headlines
HeadlinesLatestCVEs

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

ghsa
#vulnerability#git#oauth#auth

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

CVE-2023-22492: fix: deactivate refresh tokens of deactivated or locked users · zitadel/zitadel@fc892c5

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.