Powrót do bloga

sshole (CVE-2026-123158): sprawdź swoją sieć

NetSenX Team6 min czytania
vulnerabilityopensshlinuxincident-response

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ślne PermitRootLogin prohibit-password odrzuca 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

  1. Zaktualizuj OpenSSH do 10.6p2 albo do poprawionego pakietu swojej dystrybucji. W Alpine opublikowane polecenie to apk upgrade -U -a.
  2. Zrestartuj sshd. Działający demon używa starego kodu do czasu restartu; w Alpine: rc-service sshd restart.
  3. Zanim zaktualizujesz, ustaw PasswordAuthentication no w sshd_config i 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.
  4. Przebuduj obrazy kontenerów, które uruchamiają sshd na bazie Alpine, i wdroż je ponownie: łatka na hoście nie łata obrazu.
  5. 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.


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.

NetSenX Team

TriStiX S.L.