Impact
A new keycloak service-api
client was added in 2.5.0 in order to facilitate a new ssh portal in a future release. This client is configured with the "token exchange" permission which allows it to generate access tokens for users. A mismatched deployment between lagoon-core and lagoon-charts caused the client to be created with an empty secret.
An attacker with advanced knowledge of the Keycloak and Lagoon ecosystems would be able to craft an exploit that allows them to obtain an access token for any user in the lagoon
realm, including admin
/platform-owner
users. They would then be able to access all fields/mutations on the Lagoon GraphQL api.
We're not aware of any methods by which an attacker could 1) gain admin access to the keycloak master
realm or 2) access the lagoon
realm settings via the keycloak UI/API.
Patches
This issue has been addressed in 2.6.0, and further improvements will follow in a subsequent release.
Workarounds
The immediate mitigation is to log in to Keycloak, go to the service-api
client, and click Regenerate secret
.
For more information
If you have any questions or comments about this advisory:
Impact
A new keycloak
service-api
client was added in 2.5.0 in order to facilitate a new ssh portal in a future release. This client is configured with the "token exchange" permission which allows it to generate access tokens for users. A mismatched deployment between lagoon-core and lagoon-charts caused the client to be created with an empty secret.An attacker with advanced knowledge of the Keycloak and Lagoon ecosystems would be able to craft an exploit that allows them to obtain an access token for any user in the
lagoon
realm, includingadmin
/platform-owner
users. They would then be able to access all fields/mutations on the Lagoon GraphQL api.We're not aware of any methods by which an attacker could 1) gain admin access to the keycloak
master
realm or 2) access thelagoon
realm settings via the keycloak UI/API.Patches
This issue has been addressed in 2.6.0, and further improvements will follow in a subsequent release.
Workarounds
The immediate mitigation is to log in to Keycloak, go to the
service-api
client, and clickRegenerate secret
.For more information
If you have any questions or comments about this advisory: