Bezpieczeństwo · 8 listopada 2026

Dostępne również w Español, Deutsch, Italiano, Nederlands, Norsk

OpenSSH publikuje pilną poprawkę dla krytycznej luki w Alpine Linux

people sitting down near table with assorted laptop computers
Marvin Meyer / Unsplash

OpenSSH wydał wersję 10.6p2, aby naprawić krytyczną lukę bezpieczeństwa, która pozwalała atakującym omijać weryfikację tożsamości SSH na serwerach Alpine Linux. Atakujący mogli uzyskać dostęp do kont, które nie miały ustawionego hasła, takich jak konta używające wyłącznie kluczy SSH, wysyłając hasło o długości od 257 do 1024 bajtów. Problem wynikał ze współpracy między demonem sshd a biblioteką C musl, którą wykorzystuje Alpine. Gdy sshd sprawdzał hasło bez pośrednictwa PAM, funkcja crypt() w musl odrzucała hasła dłuższe niż 256 bajtów i zwracała znak gwiazdki, który odpowiadał wartości w polu hasła dla kont bez ustawionego hasła, co skutkowało udzieleniem dostępu. Zgodnie z komunikatem bezpieczeństwa Alpine, serwery były narażone na atak, gdy spełniano cztery warunki: używano pakietu openssh-server skompilowanego bez PAM lub openssh-server-pam z ustawionym UsePAM no, włączono PasswordAuthentication, co jest wartością domyślną, istniało konto bez ustawionego hasła oraz istniało co najmniej jedno konto z hashem hasła w formacie $5$ lub $6$.

Atakujący potrzebował jedynie dostępu do serwera przez sieć i znajomości nazwy konta docelowego, aby atak zakończył się sukcesem przy każdym połączeniu. Systemy korzystające z glibc, systemy inne niż Linux oraz systemy weryfikujące hasła przez PAM nie były dotknięte tą luką, podobnie jak kontenery nie uruchamiające sshd oraz obrazy chmurowe, w których cloud-init wyłącza PasswordAuthentication. Należy zwrócić uwagę na obrazy tiny-cloud w wersjach od 3.18.11 do 3.24.3, które pozwalają użytkownikowi alpine używać doas bez hasła, co w połączeniu z późniejszym ustawieniem hasła konsoli pozwalałoby atakującemu zalogować się jako alpine i natychmiast przejąć uprawnienia roota. Badacze z Wakefield, którzy zgłosili lukę i opublikowali szczegóły techniczne, zalecają sprawdzenie innych systemów używających musl, takich jak OpenWrt, Buildroot i Yocto. Obecnie nie ma raportów o rzeczywistych atakach, a numer CVE nie został jeszcze nadany. Alpine wydało poprawione pakiety dla wszystkich wydań wstecznych do wersji 3.16, w tym dla gałęzi po zakończeniu wsparcia, a wersje punktowe 3.21.10, 3.22.8, 3.23.8 i 3.24.4 zawierają już tę poprawkę.

Administratorzy powinni zaktualizować systemy za pomocą polecenia apk upgrade -U -a i ponownie uruchomić sshd poleceniem rc-service sshd restart, ponieważ aktualizacja pakietów nie restartuje działającego sshd. Osoby kompilujące OpenSSH samodzielnie powinny zaktualizować go do wersji 10.6p2. Jeśli aktualizacja nie jest możliwa, OpenSSH zaleca natychmiastowe wyłączenie logowania hasłem przez ustawienie PasswordAuthentication no po sprawdzeniu, czy logowanie kluczem SSH działa. Należy również sprawdzić logi w /var/log/messages pod kątem linii Accepted password for dla kont bez hasła. Jeśli nie można wykluczyć, że ktoś się zalogował, należy uznać, że serwer został zhakowany.