W Red Hat Keycloak 7.x skonfigurowanym z federacją użytkowników LDAP i protokołem StartTLS uwierzytelnianie użytkownika kończy się sukcesem nawet przy podaniu błędnego hasła. Podatność umożliwia nieautoryzowanemu atakującemu uzyskanie dostępu do kont bez znajomości ich haseł.
▸ Pokaż oryginał (EN)
A vulnerability was found in keycloak 7.x, when keycloak is configured with LDAP user federation and StartTLS is used instead of SSL/TLS from the LDAP server (ldaps), in this case user authentication succeeds even if invalid password has entered.
Gdy Keycloak używa federacji LDAP z protokołem StartTLS (zamiast natywnego LDAP over SSL/TLS, czyli ldaps), proces weryfikacji hasła jest nieprawidłowo obsługiwany. W wyniku błędu logiki uwierzytelnienia (CWE-305 — Authentication Bypass by Primary Weakness, CWE-287 — Improper Authentication) serwer Keycloak akceptuje każde hasło przesłane przez użytkownika jako poprawne. Weryfikacja certyfikatu lub procesu negocjacji TLS jest niewystarczająca (CWE-295), co dodatkowo umożliwia obejście mechanizmów kontroli tożsamości.
Atakujący zdalnie i bez żadnego uwierzytelnienia może zalogować się na dowolne konto użytkownika zarządzane przez federację LDAP, uzyskując pełny dostęp do zasobów chronionych przez Keycloak — w tym potencjalnie konta z wysokimi uprawnieniami.
Należy zastosować patche dostępne u producenta zgodnie z referencjami. Jako natychmiastowe obejście zaleca się przejście z protokołu StartTLS na natywne szyfrowanie LDAP over SSL/TLS (ldaps) w konfiguracji federacji użytkowników Keycloak.
Red Hat Keycloak w wersji 7.x skonfigurowany z federacją użytkowników LDAP wykorzystującą protokół StartTLS (nie ldaps).
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HRed Hat Keycloak
APPRedhat7.0.07.0.1
Powiązane podatności
XSS w Keycloak — podatność w obsłudze SAML/OIDC umożliwia wykonanie złośliwych skryptów
Keycloak: path traversal przez podwójne kodowanie URL w przekierowaniach
Privilege escalation w mechanizmie token exchange w Keycloak
Stored XSS umożliwiający przejęcie konta w Keycloak
Keycloak: przejęcie konta przez domenę placeholder.org przed wersją 8.0.0