W Keycloak przed wersją 8.0.0 adresy e-mail kont serwisowych były generowane w oparciu o domenę 'placeholder.org', co umożliwiało właścicielowi tej domeny resetowanie haseł i przejmowanie kont. Podatność pozwala nieuwierzytelnionemu atakującemu na pełne przejęcie kont serwisowych bez znajomości hasła.
▸ Pokaż oryginał (EN)
A flaw was found in keycloack before version 8.0.0. The owner of 'placeholder.org' domain can setup mail server on this domain and knowing only name of a client can reset password and then log in. For example, for client name 'test' the email address will be 'service-account-test@placeholder.org'.
Keycloak automatycznie przypisywał kontom serwisowym (service accounts) adresy e-mail w formacie 'service-account-<nazwa_klienta>@placeholder.org'. Właściciel domeny 'placeholder.org' mógł skonfigurować serwer pocztowy dla tej domeny i — znając jedynie nazwę klienta — zainicjować procedurę resetowania hasła. Wygenerowany link resetujący trafiał na kontrolowany przez atakującego adres e-mail, umożliwiając mu ustawienie nowego hasła i zalogowanie się na konto serwisowe.
Atakujący będący właścicielem domeny 'placeholder.org' może przejąć dowolne konto serwisowe w Keycloak, uzyskując nieuprawniony dostęp do zasobów chronionych przez to konto oraz możliwość podszywania się pod usługi w infrastrukturze SSO.
Należy zaktualizować Keycloak do wersji 8.0.0 lub nowszej. Patche dostępne są również w ramach aktualizacji Red Hat Single Sign-On — szczegóły zgodnie z referencjami producenta (Bugzilla Red Hat: CVE-2019-14837). Jako obejście należy zweryfikować i ręcznie zmienić adresy e-mail kont serwisowych na prawidłowe, kontrolowane przez organizację domeny.
Keycloak w wersjach przed 8.0.0 oraz Redhat Single Sign-On oparte na podatnych wersjach Keycloak
Podatność dotyczy wyłącznie kont serwisowych (service accounts), nie kont zwykłych użytkowników. Warunkiem skutecznego ataku jest kontrolowanie domeny 'placeholder.org' przez atakującego.
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:NRed Hat Keycloak
APPRedhat< 8.0.0Red Hat Single Sign On
APPRedhat7.3
Powiązane podatności
Brak walidacji nagłówka Host w serwerze Undertow HTTP
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