OpenSSH z luką pozwalającą całkowicie ominąć uwierzytelnianie

W OpenSSH wykryto poważną podatność, która w określonych konfiguracjach systemów Linux umożliwia zalogowanie się na serwer bez znajomości hasła. Problem dotyczy przede wszystkim środowisk wykorzystujących bibliotekę musl i wyłączony mechanizm PAM, w tym Alpine Linux. Dostępne są już poprawki bezpieczeństwa.

Podatność oznaczona identyfikatorem CVE-2026-123158 została ujawniona 5 listopada. Według opublikowanej oceny CVSS 3.1 otrzymała 8,1 punktu, co odpowiada wysokiemu poziomowi zagrożenia. Szczególnie niebezpieczne jest to, że wykorzystanie błędu nie wymaga wcześniejszego uwierzytelnienia ani interakcji ze strony użytkownika.

 

Długi ciąg znaków wystarczy do obejścia zabezpieczeń

Źródłem problemu jest sposób obsługi błędów przez funkcję `crypt()` w bibliotece musl. Kiedy przekazane hasło przekracza 256 bajtów, funkcja może zwrócić znak `*`, sygnalizujący niepowodzenie operacji.

Ten sam znak jest jednak wykorzystywany w systemowym pliku przechowującym informacje o hasłach do oznaczania kont, które nie mają ustawionego hasła i są przeznaczone na przykład do logowania z wykorzystaniem kluczy SSH.

W określonych okolicznościach OpenSSH może błędnie uznać taki wynik za zgodne hasło, pozwalając napastnikowi uzyskać dostęp do konta.

Do wykorzystania podatności konieczne jest spełnienie kilku warunków. Serwer musi dopuszczać uwierzytelnianie hasłem, działać bez aktywnego PAM, a w systemie musi istnieć przynajmniej jedno konto z hashem hasła typu SHA-256 lub SHA-512 oraz konto z polem hasła zawierającym `*`.

 

Zagrożenie także dla obrazów chmurowych

Twórcy Alpine Linux zwracają uwagę, że problem dotyczy również części oficjalnych obrazów chmurowych tiny-cloud. Niektóre z nich zawierają konto `alpine` z możliwością wykonywania poleceń administracyjnych bez dodatkowego hasła.

W konsekwencji skuteczne wykorzystanie podatności może prowadzić do uzyskania pełnej kontroli nad systemem. Nie oznacza to jednak, że każda instalacja Alpine Linux jest podatna. Zagrożenie nie obejmuje między innymi typowych kontenerów, które nie uruchamiają serwera SSH, ani konfiguracji z wyłączonym logowaniem hasłem.

 

Aktualizacja wymaga ponownego uruchomienia usługi

Zespół OpenSSH udostępnił wersję 10.6p2, zawierającą zabezpieczenie przed błędem. Poprawki trafiły również do Alpine Linux 3.21.10, 3.22.8, 3.23.8 i 3.24.4 oraz pakietów dla starszych wydań.

Administratorzy powinni nie tylko zaktualizować oprogramowanie, lecz także ponownie uruchomić usługę `sshd`. Do czasu instalacji poprawki zalecane jest wyłączenie uwierzytelniania hasłem przez ustawienie `PasswordAuthentication no`, po wcześniejszym sprawdzeniu działania logowania kluczem SSH.