Miggo Logo

CVE-2024-5967:
Keycloak leaks configured LDAP bind credentials through the Keycloak admin console

2.7

CVSS Score

Basic Information

EPSS Score
-
Published
6/21/2024
Updated
7/1/2024
KEV Status
No
Technology
TechnologyJava

Technical Details

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:H/UI:N/S:U/C:L/I:N/A:N
Package NameEcosystemVulnerable VersionsFirst Patched Version
org.keycloak:keycloak-ldap-federationmaven= 25.0.025.0.1
org.keycloak:keycloak-ldap-federationmaven<= 22.0.1122.0.12
org.keycloak:keycloak-ldap-federationmaven>= 23.0.0, <= 24.0.524.0.6

Vulnerability Intelligence
Miggo AIMiggo AI

Miggo AIRoot Cause Analysis

The vulnerability stems from the pre-patch implementation of buildLDAPConfig, which fetched stored credentials (via realm.getComponent()) when ComponentRepresentation.SECRET_VALUE was provided, but didn't verify if the test request's connection URL/bind DN matched the original component's configuration. The patch added URI and DN comparisons (Objects.equals checks) to prevent credential reuse when these parameters are altered. The function's pre-patch behavior directly enabled the credential leak described in CVE-2024-5967.

Vulnerable functions

Only Mi**o us*rs **n s** t*is s**tion

WAF Protection Rules

WAF Rule

### Imp**t T** L**P t*stin* *n*point *llows to ***n** t** *onn**tion URL in**p*n**ntly o* *n* wit*out **vin* to r*-*nt*r t** *urr*ntly *on*i*ur** L**P *in* *r***nti*ls. *n *tt**k*r wit* **min ****ss (p*rmission m*n***-r**lm) **n ***n** t** L**P *ost

Reasoning

T** vuln*r**ility st*ms *rom t** pr*-p*t** impl*m*nt*tion o* *uil*L**P*on*i*, w*i** **t**** stor** *r***nti*ls (vi* r**lm.**t*ompon*nt()) w**n *ompon*ntR*pr*s*nt*tion.S**R*T_V*LU* w*s provi***, *ut *i*n't v*ri*y i* t** t*st r*qu*st's *onn**tion URL/*