Krytyczna luka w Keycloak pozwala na przejęcie kont przez obejście resetu hasła - Security Bez Tabu

Krytyczna luka w Keycloak pozwala na przejęcie kont przez obejście resetu hasła

Cybersecurity news

Wprowadzenie do problemu / definicja

W ekosystemie zarządzania tożsamością i dostępem każda podatność dotycząca odzyskiwania konta ma najwyższy priorytet bezpieczeństwa. Ujawniona luka w Keycloak, oznaczona jako CVE-2026-18963, dotyczy mechanizmu resetu hasła i może umożliwiać zdalne przejęcie konta bez skutecznej weryfikacji tożsamości użytkownika.

Problem uderza w jeden z najważniejszych elementów ochrony dostępu, ponieważ proces zmiany hasła powinien być bezwzględnie powiązany z potwierdzeniem kontroli nad zarejestrowanym kanałem odzyskiwania, najczęściej adresem e-mail. W tym przypadku założenie to może zostać naruszone wskutek błędu logicznego w obsłudze przepływu reset-credentials.

W skrócie

  • Luka otrzymała identyfikator CVE-2026-18963 i ocenę CVSS 9.1.
  • Podatność umożliwia obejście standardowego procesu resetu hasła.
  • Atak może prowadzić do pełnego przejęcia dowolnego konta, w tym administracyjnego.
  • Wykorzystanie błędu nie wymaga wcześniejszego uwierzytelnienia ani interakcji ofiary.
  • Zalecane jest natychmiastowe wdrożenie poprawek lub czasowe wyłączenie funkcji „Forgot password”.

Kontekst / historia

Keycloak jest szeroko wykorzystywany jako centralna platforma IAM i SSO w środowiskach korporacyjnych, aplikacjach webowych, architekturach mikroserwisowych oraz wdrożeniach opartych na OAuth 2.0, OpenID Connect i SAML. Z tego powodu każda podatność wpływająca na integralność procesu uwierzytelniania ma znaczenie wykraczające poza pojedynczą usługę.

W praktyce kompromitacja konta w Keycloak może otworzyć drogę do dostępu do wielu systemów zależnych, paneli administracyjnych i usług API. To sprawia, że nawet jeden błąd logiczny w warstwie tożsamości może stać się punktem wyjścia do eskalacji uprawnień oraz ruchu bocznego w całej organizacji.

Producent oraz opiekunowie projektu udostępnili poprawki dla wersji upstream Keycloak 26.7.2 oraz odpowiednich wydań utrzymywanych przez Red Hat. Dla środowisk, które nie mogą zostać zaktualizowane od razu, wskazano obejście tymczasowe polegające na wyłączeniu funkcji odzyskiwania hasła we wszystkich realmach.

Analiza techniczna

Istota podatności sprowadza się do nieprawidłowej walidacji stanu w przepływie resetu poświadczeń. W poprawnym modelu bezpieczeństwa użytkownik inicjuje reset hasła, system generuje token lub link weryfikacyjny i przesyła go na zaufany kanał, a dopiero po jego użyciu możliwe jest ustawienie nowego hasła.

W przypadku CVE-2026-18963 atakujący może doprowadzić proces do przejścia bezpośrednio do etapu zmiany hasła, z pominięciem obowiązkowego potwierdzenia z wiadomości e-mail. Oznacza to obejście krytycznego kroku kontrolnego i naruszenie integralności całej procedury odzyskiwania dostępu.

Technicznie jest to przykład błędu w kontroli sekwencji i obsłudze stanów procesu bezpieczeństwa. Poszczególne komponenty mechanizmu, takie jak generowanie tokenu czy formularz ustawienia nowego hasła, mogą istnieć i działać poprawnie, ale niewłaściwa logika przejścia między etapami sprawia, że ich funkcja ochronna zostaje unieważniona.

Podatność została powiązana z CWE-640, czyli słabym lub niepoprawnie zaprojektowanym mechanizmem odzyskiwania hasła. W tym przypadku problem nie wynika ze słabości samego tokenu, lecz z możliwości całkowitego ominięcia jego egzekwowania po stronie serwera.

Konsekwencje / ryzyko

Ryzyko związane z tą luką jest bardzo wysokie, ponieważ Keycloak często pełni rolę centralnego punktu zaufania dla wielu aplikacji i usług. Przejęcie pojedynczego konta może przełożyć się na dostęp do szeregu systemów bez potrzeby ich osobnego kompromitowania.

Najgroźniejszy scenariusz dotyczy kont uprzywilejowanych i administracyjnych. Uzyskanie takiego dostępu może umożliwić modyfikację polityk uwierzytelniania, tworzenie nowych kont o wysokich uprawnieniach, zmianę konfiguracji klientów OIDC i SAML czy manipulowanie mapowaniem ról.

W dalszej perspektywie może to prowadzić do naruszenia poufności danych, utraty integralności mechanizmów dostępowych oraz zakłócenia działania usług biznesowych. Dodatkowo brak wymogu logowania i brak potrzeby interakcji użytkownika obniżają próg wejścia dla atakujących i zwiększają ryzyko automatyzacji ataków.

Rekomendacje

Najważniejszym działaniem jest niezwłoczna aktualizacja wszystkich instancji Keycloak do wersji zawierających poprawkę. Organizacje korzystające z wydań upstream powinny przejść do wersji 26.7.2 lub nowszej, a użytkownicy wydań utrzymywanych komercyjnie powinni wdrożyć odpowiednie poprawione pakiety i obrazy.

Jeżeli aktualizacja nie jest możliwa od razu, należy tymczasowo wyłączyć funkcję „Forgot password” we wszystkich realmach. Rozwiązanie to ogranicza powierzchnię ataku, choć może wpłynąć na wygodę użytkowników i obciążenie zespołów wsparcia.

  • przeprowadzić inwentaryzację wszystkich instancji Keycloak, także testowych i deweloperskich,
  • zweryfikować, które realmy mają aktywne odzyskiwanie hasła,
  • przeanalizować logi pod kątem nietypowych żądań do endpointów resetu poświadczeń,
  • skontrolować ostatnie zmiany haseł dla kont uprzywilejowanych i usługowych,
  • wymusić reset haseł dla kont, wobec których istnieje podejrzenie nadużycia,
  • ograniczyć dostęp sieciowy do paneli IAM wyłącznie z zaufanych segmentów,
  • upewnić się, że konta administracyjne są chronione dodatkowymi mechanizmami, takimi jak MFA i monitoring działań.

Z perspektywy długoterminowej incydent ten pokazuje, że testy bezpieczeństwa powinny obejmować nie tylko klasyczny proces logowania, ale również ścieżki pomocnicze, takie jak odzyskiwanie konta, aktywacja użytkownika czy operacje administracyjne oparte na tokenach jednorazowych.

Podsumowanie

CVE-2026-18963 to krytyczna podatność w Keycloak, która umożliwia przejęcie konta poprzez obejście weryfikacji w procesie resetu hasła. Błąd logiczny w przepływie reset-credentials pokazuje, jak groźne mogą być problemy związane z walidacją stanu w systemach IAM.

Dla organizacji korzystających z Keycloak oznacza to konieczność pilnego wdrożenia poprawek, przeglądu konfiguracji odzyskiwania haseł oraz weryfikacji, czy nie doszło już do nadużyć. Ponieważ warstwa tożsamości stanowi fundament kontroli dostępu, jej kompromitacja może mieć skutki znacznie szersze niż awaria pojedynczej aplikacji.

Źródła