Keycloak leaks configured LDAP bind credentials through the Keycloak admin console
Package
Affected versions
= 25.0.0
<= 22.0.11
>= 23.0.0, <= 24.0.5
Patched versions
25.0.1
22.0.12
24.0.6
Description
Published to the GitHub Advisory Database
Jun 21, 2024
Reviewed
Jun 21, 2024
Last updated
Jul 1, 2024
Impact
The LDAP testing endpoint allows to change the Connection URL independently of and without having to re-enter the currently configured LDAP bind credentials. An attacker with admin access (permission manage-realm) can change the LDAP host URL ("Connection URL") to a machine they control. The Keycloak server will connect to the attacker's host and try to authenticate with the configured credentials, thus leaking them to the attacker.
As a consequence, an attacker who has compromised the admin console/compromised a user with sufficient privileges can leak domain credentials and can now attack the domain.
Acknowledgements
Special thanks to Simon Wessling for reporting this issue and helping us improve our project
References