Impact
The Keycloak authentication adapter does not validate the azp (authorized party) claim of Keycloak access tokens against the configured client-id. A valid access token issued by the same Keycloak realm for a different client application can be used to authenticate as any user on the Parse Server that uses the Keycloak adapter. This enables cross-application account takeover in multi-client Keycloak realms.
All Parse Server deployments that use the Keycloak authentication adapter with a Keycloak realm that has multiple client applications are affected.
Patches
The fix replaces the userinfo HTTP call with local JWT verification and enforces azp claim validation against the configured client-id.
Workarounds
None.
References
Impact
The Keycloak authentication adapter does not validate the
azp(authorized party) claim of Keycloak access tokens against the configuredclient-id. A valid access token issued by the same Keycloak realm for a different client application can be used to authenticate as any user on the Parse Server that uses the Keycloak adapter. This enables cross-application account takeover in multi-client Keycloak realms.All Parse Server deployments that use the Keycloak authentication adapter with a Keycloak realm that has multiple client applications are affected.
Patches
The fix replaces the userinfo HTTP call with local JWT verification and enforces
azpclaim validation against the configuredclient-id.Workarounds
None.
References