Krytyczna luka w Keycloak pozwala na przejęcie kont bez logowania - Security Bez Tabu

Krytyczna luka w Keycloak pozwala na przejęcie kont bez logowania

Cybersecurity news

Wprowadzenie do problemu / definicja

W systemach zarządzania tożsamością i dostępem błędy w mechanizmach odzyskiwania dostępu należą do najpoważniejszych klas podatności. To właśnie te procesy umożliwiają zmianę poświadczeń bez znajomości dotychczasowego hasła, dlatego każde naruszenie logiki resetu konta może prowadzić do bezpośredniego przejęcia tożsamości użytkownika.

W przypadku Keycloak ujawniono krytyczną podatność oznaczoną jako CVE-2026-18963. Luka pozwala nieuwierzytelnionemu atakującemu ominąć część procesu resetu poświadczeń i ustawić nowe hasło dla wybranego konta, co w praktyce może oznaczać pełne przejęcie dostępu.

W skrócie

  • Podatność dotyczy przepływu resetu poświadczeń w Keycloak.
  • Atak może zostać przeprowadzony zdalnie, bez logowania i bez interakcji użytkownika.
  • Skutkiem jest możliwość ustawienia nowego hasła dla ofiary.
  • Zagrożone były wybrane wersje z linii 26.0.x–26.7.1.
  • Poprawki opublikowano w wersjach 26.4.15, 26.6.6 oraz 26.7.2.
  • Dostępność publicznego proof-of-concept zwiększa ryzyko szybkiej eksploatacji.

Kontekst / historia

Keycloak jest szeroko wykorzystywanym rozwiązaniem IAM obsługującym federację tożsamości, jednokrotne logowanie oraz standardy OAuth 2.0, OpenID Connect i SAML. Ze względu na centralną rolę w architekturze dostępu błędy w tym produkcie mają zwykle wysoki priorytet operacyjny i bezpieczeństwa.

Ujawniona podatność została sklasyfikowana jako krytyczna, ponieważ narusza jeden z najbardziej wrażliwych elementów systemu, czyli ścieżkę odzyskiwania konta. Publiczne informacje wskazują, że poprawki udostępniono w sierpniu 2026 roku, a równolegle pojawił się materiał typu proof-of-concept, który znacząco obniża próg wejścia dla potencjalnych napastników.

Analiza techniczna

Źródłem problemu jest nieprawidłowa walidacja stanu w wieloetapowym przepływie resetu poświadczeń. W prawidłowym scenariuszu użytkownik inicjuje odzyskiwanie dostępu, otrzymuje wiadomość z linkiem lub tokenem, a kolejne etapy są możliwe dopiero po potwierdzeniu kontroli nad adresem e-mail.

W podatnych wersjach możliwe było jednak doprowadzenie do ponownego wyrenderowania ekranu wyboru mechanizmu uwierzytelniania poza poprawnie zweryfikowanym kontekstem bezpieczeństwa. W efekcie jedna z akcji w workflow mogła oznaczyć stan związany z weryfikacją adresu e-mail i przejść dalej bez wymaganej walidacji tokena akcji.

To oznacza, że atakujący mógł osiągnąć etap ustawienia nowego hasła bez kliknięcia w wiadomość przesłaną do ofiary. Jest to klasyczny przykład błędu logiki biznesowej, a nie słabości kryptografii czy polityki haseł. Nawet dobrze zabezpieczona infrastruktura, korzystająca z HTTPS i silnych reguł uwierzytelniania, nie chroni przed tego typu naruszeniem workflow.

Dodatkowym czynnikiem ryzyka jest publicznie dostępny kod demonstracyjny, który według opisu pozwala zarówno sprawdzić podatność instancji, jak i doprowadzić do zmiany hasła wskazanego użytkownika. W praktyce może to ułatwić automatyzację ataków oraz masowe skanowanie środowisk wystawionych do internetu.

Konsekwencje / ryzyko

Najpoważniejszą konsekwencją CVE-2026-18963 jest pełne przejęcie konta bez uwierzytelnienia. W zależności od roli użytkownika skala szkód może być bardzo duża, szczególnie jeśli chodzi o konta administracyjne lub dostęp do systemów produkcyjnych.

  • dostęp do aplikacji federowanych przez Keycloak,
  • przejęcie kont uprzywilejowanych i zwiększenie wpływu napastnika,
  • dostęp do danych osobowych, sesji i zasobów biznesowych,
  • zablokowanie prawowitego użytkownika po zmianie hasła,
  • wykorzystanie przejętego konta do dalszego ruchu bocznego w środowisku.

W organizacjach enterprise ryzyko jest jeszcze większe, ponieważ Keycloak często stanowi centralny punkt uwierzytelniania dla wielu systemów jednocześnie. Kompromitacja jednej instancji IAM może więc przełożyć się na szersze naruszenie bezpieczeństwa całego ekosystemu aplikacji zależnych.

Rekomendacje

Najważniejszym krokiem powinno być natychmiastowe ustalenie wersji używanego Keycloak i porównanie jej z zakresem podatnych wydań. Jeśli organizacja korzysta z wersji objętej luką, konieczna jest pilna aktualizacja do wydania zawierającego poprawkę lub nowszego.

  • zaktualizować wszystkie środowiska do wersji zawierających poprawkę,
  • zweryfikować publicznie dostępne instancje Keycloak,
  • przeanalizować logi pod kątem nietypowych zdarzeń resetu haseł,
  • wymusić reset haseł dla kont potencjalnie objętych incydentem,
  • sprawdzić zmiany statusu weryfikacji adresów e-mail i nietypowe sekwencje akcji,
  • objąć szczególnym monitoringiem konta administracyjne i uprzywilejowane,
  • ograniczyć ekspozycję interfejsów IAM do zaufanych sieci, jeśli to możliwe,
  • wdrożyć dodatkowe mechanizmy detekcji anomalii w procesach odzyskiwania dostępu.

Warto również przeprowadzić przegląd niestandardowych rozszerzeń, motywów i integracji wpływających na logowanie oraz reset poświadczeń. W środowiskach mocno dostosowanych do potrzeb organizacji błędy logiki biznesowej mogą być trudniejsze do zauważenia i szybciej prowadzić do eskalacji ryzyka.

Podsumowanie

CVE-2026-18963 pokazuje, jak groźne mogą być błędy w procesach odzyskiwania dostępu w systemach IAM. W tym przypadku atak nie wymagał logowania ani interakcji użytkownika, a skutkiem mogło być pełne przejęcie konta poprzez nieuprawnioną zmianę hasła.

Dla organizacji korzystających z Keycloak oznacza to konieczność pilnej weryfikacji wersji, wdrożenia poprawek oraz retrospektywnej analizy zdarzeń związanych z resetem poświadczeń. Szybka reakcja i właściwa telemetria bezpieczeństwa mogą w takim scenariuszu bezpośrednio ograniczyć ryzyko naruszenia tożsamości.

Źródła

  1. Exploit Database – Keycloak 26.7.2 – Unauthenticated Account Takeover – Multiple webapps Exploit – https://www.exploit-db.com/exploits/52699
  2. GitHub Advisory Database – Keycloak: Unauthenticated account takeover via reset-credentials flow bypass – https://github.com/advisories/GHSA-4gv3-mc9p-5wqc
  3. Keycloak – Keycloak 26.7.2 released – https://www.keycloak.org/2026/08/keycloak-2672-released
  4. NVD – CVE-2026-18963 – https://nvd.nist.gov/vuln/detail/CVE-2026-18963