CVE-2026-123158, nazywana „sshole” (pisana też sshhole), pozwala zalogować się przez SSH bardzo długim hasłem na systemach Linux, w których sshd z OpenSSH jest zbudowany z biblioteką musl libc bez PAM; najbardziej znanym przykładem jest Alpine Linux. Poprawka jest w OpenSSH 10.6p2, wydanym 5 listopada 2026 r., a do czasu aktualizacji lukę zamyka wyłączenie logowania hasłem. Większość popularnych dystrybucji serwerowych używa glibc i PAM, więc znajduje się poza podatną konfiguracją; ryzyko skupia się na hostach z Alpine, kontenerach opartych na Alpine, w których działa sshd, oraz na obrazach Linuksa dla urządzeń wbudowanych.
Kogo to dotyczy, a kogo nie
Rekord CVE opisuje to tak: sshd w OpenSSH przed wersją 10.6p2, na Linuksie, gdy używana jest musl libc bez PAM, nie ma obejścia problemu, który pozwala ominąć uwierzytelnianie hasłem; dla niektórych konfiguracji kont działa dowolne hasło o długości od 256 do 1024 znaków. Rekord ocenia lukę na 8,1 (wysoka) w CVSS 3.1.
Mechanizm, jak opisują go Alpine i kilku badaczy bezpieczeństwa: bez PAM sshd sprawdza hasło, wywołując funkcję crypt() biblioteki C i porównując wynik z wpisem konta w /etc/shadow. Przy zbyt długim haśle crypt() w musl kończy się błędem i zwraca ciąg *. Konta, które nie mają logować się hasłem, często mają w shadow dokładnie *, więc wartość błędu pasuje i sshd przyjmuje logowanie. Konto z prawdziwym skrótem hasła nie otworzy się w ten sposób: wartość błędu nie pasuje do skrótu.
- Podatna konfiguracja: OpenSSH starszy niż 10.6p2, musl libc, brak PAM, włączone uwierzytelnianie hasłem i co najmniej jedno konto, którego wpis w shadow to samo
*. Domyślna kompilacja OpenSSH w Alpine nie ma PAM. Badacze wymieniają wśród zagrożonych kont użytkowników logujących się tylko kluczem i domyślnego użytkownika obrazów chmurowych Alpine; root w Alpine też ma domyślnie*, ale domyślnePermitRootLogin prohibit-passwordodrzuca logowanie roota hasłem. - Poza nią, według rekordu CVE: dystrybucje oparte na glibc oraz kompilacje sshd korzystające z PAM. Dropbear, domyślny serwer SSH w OpenWrt, to inny program niż OpenSSH i nie jest produktem wskazanym w rekordzie; urządzenie z OpenWrt wchodzi w grę tylko wtedy, gdy zainstalowano na nim serwer OpenSSH.
- Wykorzystanie: kod proof-of-concept jest publiczny. Firma threat intelligence Previdian podaje, że jej sensory zaobserwowały próby wykorzystania luki; według innych źródeł, m.in. Safe Security, na 6 listopada 2026 r. wykorzystanie w realnych atakach nie było potwierdzone, a CISA nie dodała tej CVE do katalogu Known Exploited Vulnerabilities. Tak czy inaczej, każdy podatny host przyjmujący hasła SSH z internetu traktuj jako pilny.
10-minutowa kontrola dla administratora
Skanuj wyłącznie sieci, które należą do Ciebie albo do których testowania masz upoważnienie.
Krok 1: znajdź usługi SSH
Z hosta wewnątrz sieci wylistuj wszystko, co odpowiada na porcie 22, razem z wersją oprogramowania, którą się przedstawia. Zastąp przykładowy zakres własnymi podsieciami:
nmap -p 22 --open -sV 192.0.2.0/24
Uwzględnij hosty z kontenerami i sieci laboratoryjne. sshd w kontenerze może być wystawiony na innym porcie, więc sprawdź też mapowania portów publikowane przez platformę kontenerową.
Krok 2: sprawdź na każdym hoście wersję OpenSSH i bibliotekę C
ssh -V pokazuje zainstalowaną wersję OpenSSH. ldd --version wypisuje musl libc w systemie z musl, a w systemie z glibc jej wersję. W Alpine apk info -v | grep openssh pokazuje dokładne wersje pakietów.
ssh -V
ldd --version 2>&1 | head -1
Krok 3: sprawdź, czy logowanie hasłem jest włączone
Jako root wyświetl konfigurację, z którą faktycznie działa sshd. passwordauthentication no oznacza, że ta droga jest na tym hoście zamknięta.
sshd -T | grep -i passwordauthentication
Krok 4: wylistuj konta z samym *
To konta, które obejście może otworzyć:
awk -F: '$2 == "*" { print $1 }' /etc/shadow
Host jest narażony, jeśli spełnione są wszystkie cztery warunki: podatna wersja OpenSSH, musl, włączone logowanie hasłem i co najmniej jedno z wylistowanych kont, któremu SSH pozwala się zalogować.
Poprawka
- Zaktualizuj OpenSSH do 10.6p2 albo do poprawionego pakietu swojej dystrybucji. W Alpine opublikowane polecenie to
apk upgrade -U -a. - Zrestartuj sshd. Działający demon używa starego kodu do czasu restartu; w Alpine:
rc-service sshd restart. - Zanim zaktualizujesz, ustaw
PasswordAuthentication nowsshd_configi przeładuj sshd. Jeśli użytkownicy i tak logują się kluczami, nic się dla nich nie zmieni; to doraźne rozwiązanie zalecane w komunikatach o luce. - Przebuduj obrazy kontenerów, które uruchamiają sshd na bazie Alpine, i wdroż je ponownie: łatka na hoście nie łata obrazu.
- Przejrzyj ostatnie logowania SSH na podatnych hostach, zwłaszcza udane logowania hasłem na konta, które zwykle używają kluczy albo w ogóle się nie logują.
Co monitoring sieci widzi, a czego nie
SSH jest szyfrowany, więc hasło nigdy nie przechodzi przez sieć w czytelnej postaci. Sensor sieciowy nie zobaczy hasła, nie pozna jego długości i nie powie, że użyto właśnie tej luki: ten dowód jest w logach samego hosta.
Monitoring sieci widzi natomiast zachowanie wokół włamania. NetSenX ocenia, jak każdy host zachowuje się w sieci, i oznacza skanowanie, ruch lateralny, beaconing C2 oraz nietypowy wolumen danych wychodzących, w każdym planie, także Free. Host, który nagle przyjmuje sesje SSH ze źródeł, z którymi nigdy się nie komunikował, albo kontener Alpine, który po zalogowaniu zaczyna łączyć się z innymi hostami w sieci wewnętrznej, to dokładnie ten rodzaj zmian, do których służą te detekcje. Każdy alert wyjaśnia prostym językiem, dlaczego się pojawił. Używaj tego razem z kontrolą hostów opisaną wyżej, a nie zamiast niej.
Jeśli nie masz pewności, czy ktoś już nie jest w środku, strona Jak sprawdzić, czy ktoś jest w Twojej sieci wymienia sygnały i darmowe kontrole, Jak wykryć ruch lateralny i beaconing C2 mapuje to, co następuje po zalogowaniu, na MITRE ATT&CK, a NDR vs EDR vs SIEM wyjaśnia, które narzędzie co widzi. Plan Free monitoruje do 3 urządzeń bez limitu czasu; zobacz cennik.
FAQ
Czym jest sshole (CVE-2026-123158)?
To obejście uwierzytelniania hasłem w sshd z OpenSSH przed wersją 10.6p2 na systemach Linux z musl libc bez PAM, takich jak Alpine Linux. Dla niektórych kont przyjmowane jest dowolne hasło o długości od 256 do 1024 znaków. Rekord CVE ocenia lukę na 8,1 (wysoka) w CVSS 3.1.
Czy dotyczy to mojego serwera z Ubuntu, Debianem lub Red Hatem?
Standardowych kompilacji nie: te dystrybucje używają glibc i budują sshd z PAM, a rekord CVE ogranicza problem do musl libc bez PAM. Kontenery na takich hostach nadal mogą być podatne, jeśli są oparte na Alpine i uruchamiają sshd.
Jak to naprawić?
Zaktualizuj OpenSSH do 10.6p2 lub do poprawionego pakietu dystrybucji, a potem zrestartuj sshd. Do tego czasu ustaw PasswordAuthentication no w sshd_config i przeładuj sshd. Przebuduj obrazy kontenerów opartych na Alpine, które uruchamiają sshd.
Czy CVE-2026-123158 jest wykorzystywana w atakach?
Previdian podaje, że jej sensory zaobserwowały próby wykorzystania. Według innych źródeł na 6 listopada 2026 r. wykorzystanie w realnych atakach nie było potwierdzone, a CVE nie było w katalogu Known Exploited Vulnerabilities CISA. Kod proof-of-concept jest publiczny, więc łataj bez czekania.
Czy monitoring sieci wykryje ten atak?
Samego logowania nie: SSH jest szyfrowany, więc żadne narzędzie sieciowe nie widzi hasła ani jego długości. Monitoring sieci pokaże to, co dzieje się wokół, np. sesje SSH z nieznanych źródeł, skanowanie albo ruch lateralny z hosta po zalogowaniu. NetSenX oznacza skanowanie i ruch lateralny w każdym planie.
Źródła
Wszystkie odczytane 6 listopada 2026 r.
- CVE-2026-123158, rekord CVE (cvelistV5) — opis, wersje podatne, ocena CVSS 3.1: 8,1, opublikowany 5 listopada 2026 r.
- Alpine Linux — OpenSSH password authentication bypass — komunikat dystrybucji
- OpenSSH release notes, 10.6p2
- OX Security — OpenSSH password authentication bypass on Alpine Linux — mechanizm i zagrożone konta
- Previdian — CVE-2026-123158 exploitation attempts observed
- Safe Security — SSHole: high-severity OpenSSH vulnerability — status wykorzystania na 6 listopada 2026 r.
Autor: zespół NetSenX w TriStiX S.L. Artykuł ma charakter ogólnoinformacyjny i opiera się na powyższych publicznych źródłach według stanu na 6 listopada 2026 r.; wersje pakietów właściwe dla Twojego systemu sprawdź w komunikacie swojej dystrybucji. Pytania: info@netsenx.com.