OpenSSH 10.6p2 usuwa obejście logowania hasłem w sshd na Linuksach z biblioteką musl bez PAM, m.in. w Alpine
- Rodzaj
- Streszczenie
- Data
- Kategoria
- Aktualności
- Redakcja
- Paweł Rosół
- Źródło
- OpenSSH ()
Na Linuksie z biblioteką musl i bez PAM konto z gwiazdką zamiast skrótu hasła przyjmowało każde hasło dłuższe niż 256 znaków. Zespół OpenSSH wydał poprawkę dzień po zgłoszeniu i do czasu aktualizacji zaleca wyłączenie logowania hasłem.
Zespół OpenSSH wydał 5 listopada 2026 r. wersję 10.6p2 przenośnego OpenSSH z obejściem krytycznej podatnościPodatność Słabość produktu lub usługi ICT, którą można wykorzystać do ataku. Znane podatności dostają identyfikatory CVE, a te wykorzystywane w atakach trafiają do katalogu KEV., która pozwala ominąć uwierzytelnianie hasłem w sshd. Dotyczy to systemów Linux z biblioteką musl libc, na których sshd działa bez PAM. Damien Miller z zespołu OpenSSH podaje jako przykład Alpine Linux i pisze, że błąd nie występuje poza Linuksem, na Linuksie z glibc ani tam, gdzie hasła sprawdza PAM. Zespół uważa, że przyczyna leży poza sshd, ale da się ją wykorzystać przez sshd i tam najszybciej można jej zapobiec. Podatność zgłosił Özgün Kültekin z firmy Wakefield, a zespół dowiedział się o niej dzień przed wydaniem.
Mechanizm badacz opisał w serwisie sshhole.com. Funkcja crypt() w musl od 2012 r. przy błędzie zwraca znak „”, a hasło dłuższe niż 256 bajtów traktuje jako błąd. Ten sam znak w /etc/shadow oznacza konto, na które nie da się zalogować hasłem. W efekcie konto z „” w polu hasła, na przykład użytkownik logujący się tylko kluczem, konto z LDAP albo root w Alpine, przyjmuje dowolne hasło o długości od 257 do 1024 znaków, jeśli w systemie jest też konto z ustawionym hasłem. Na oficjalnych obrazach Alpine dla AWS i Azure dotyczy to domyślnego użytkownika, który ma doas bez hasła, więc atakujący dostaje uprawnienia roota. Według badacza błąd istnieje od 2016 r., a znalazł go, budując sshd w różnych konfiguracjach i sprawdzając z pomocą agentów AI około 17 600 nietypowych logowań.
Sekurak w tekście z 5 listopada pisał, że szczegóły techniczne nie zostały ujawnione i nie wiadomo, jakie są dodatkowe ograniczenia ataku. Opis na sshhole.com ukazał się tego samego dnia, a na liście oss-security streścił go Jan Schaumann. Miller tłumaczy tempo wydania tym, że agenty AI coraz częściej odkrywają te same błędy ponownie, czasem w ciągu kilku godzin, dlatego zespół uważa długie embarga za praktykę, która pomaga głównie atakującym.
Jeśli utrzymujesz serwery, urządzenia lub kontenery z Alpine albo innym systemem na musl i działa na nich sshd z OpenSSH, zaktualizuj go do wersji 10.6p2. Badacz podaje, że w Alpine wystarczy apk upgrade openssh, a Sekurak przypomina, że obrazy kontenerów trzeba przebudować. Do czasu aktualizacji Miller zaleca natychmiast ustawić PasswordAuthentication no albo wyłączyć SSH na tych systemach. Badacz udostępnił w serwisie GitHub narzędzie, które sprawdza w logach, czy konto bez hasła przyjęło logowanie hasłem.
Źródła
- OpenSSH: Release Notes - OpenSSH 10.6p2
- openssh-unix-dev: Damien Miller - urgent security release: 10.6p2
- sshhole.com: sshole
- oss-security: „sshole”: password authentication bypass: OpenSSH + musl libc
- Sekurak: Korzystacie z OpenSSH na hostach z musl libc? Lepiej patchujcie i wyłączcie PasswordAuthentication
Pojęcia w tym tekście (1)
- Podatność
- Słabość produktu lub usługi ICT, którą można wykorzystać do ataku. Znane podatności dostają identyfikatory CVE, a te wykorzystywane w atakach trafiają do katalogu KEV.