sshole (CVE-2026-123158): Chyba OpenSSH ovlivňující Alpine Linux a jak ji opravit
Od Eoin Villarin, 2026-11-07
Chyba OpenSSH nazvaná sshole umožňuje útočníkům přihlásit se k účtům bez hesla na Alpine Linuxu a dalších systémech založených na musl, a již je zneužívána. Kdo je postižen, jak zkontrolovat své servery a jak to opravit.
Jsem ovlivněn chybou sshole OpenSSH?
Jste v riziku, pokud server spouští OpenSSH starší než 10.6p2 na systému založeném na musl, jako je Alpine Linux bez PAM, umožňuje přihlášení heslem SSH a má účet, jehož pole hesla je pouze hvězdička vedle jiného účtu se skutečným hash hesla. Debian, Ubuntu, Fedora a nastavení, která používají PAM, nejsou ovlivněny.
Ključni zaključci
- CVE-2026-123158, nazvaná sshole, umožňuje útočníkům přihlásit se k účtům bez hesla na systémech založených na musl linux zasláním přehlušujícího hesla.
- Balíček openssh-server Alpine Linux je ovlivněn, zatímco systémy glibc, jako je Ubuntu a nastavení pomocí PAM, nejsou.
- Útočníci ji využili méně než devět hodin po zveřejnění a získali root na honeypotu.
- Oprava je OpenSSH 10.6p2 nebo Alpineův opravený balíček pro vaši větev, následovaný restartem sshd.
- Pokud nemůžete zatím aktualizovat, nastavte PasswordAuthentication no a použijte SSH klíče.
Nedávno zveřejněná chyba OpenSSH nazvaná sshole, sledovaná jako CVE-2026-123158, umožňuje útočníkům přihlásit se k určitým linuxovým účtům, které nejsou určeny pro přijímání hesel vůbec. Ovlivňuje OpenSSH na systémech založených na musl, jako je Alpine Linux, byla opravena 5. listopadu 2026 a útočníci ji začali využívat méně než devět hodin po zveřejnění. Pokud provozujete Alpine servery, Alpine-based Docker obrazy s SSH nebo malá zařízení na OpenWrt, zkontrolujte je dnes.
Co je chyba sshole OpenSSH?
Na systémech založených na musl vrátí funkce crypt() C knihovny jeden hvězdičku (*), když se jí nepodaří hashovat heslo, například když je heslo delší než jeho 256-bajtový limit. Mnoho linuxových systémů také používá jednu * v poli hesla, aby znamenalo "tento účet nemá heslo." OpenSSH porovnal dvě, viděl *, a považoval je za shodu. Odeslání příliš velkého hesla stačilo k přihlášení k účtu bez hesla.
Chování sahá zpět do změny v roce 2016 v zacházení heslem OpenSSH. Výzkumník bezpečnosti Özgün Kültekin jej našel pomocí AI agentů, kteří provedli asi 17 600 testů autentizace. CVE nese skóre CVSS 3.1 8.1, které je hodnoceno jako Vysoké, a oprava byla dodána v OpenSSH 10.6p2.
Jsem ovlivněn?
Server je ohrožen, když jsou všechny tyto podmínky pravdivé:
- Spouští OpenSSH starší než 10.6p2 na systému založeném na musl, jako je Alpine Linux, OpenWrt, Buildroot nebo Yocto.
- sshd nepoužívá PAM. To je výchozí stav pro balíček openssh-server Alpine.
- Přihlášení SSH heslem jsou povolena, což je výchozí nastavení OpenSSH.
- Nejméně jeden účet má pouze * v jeho heslovém poli, jako je uživatel pouze s klíčem, vedle jiného účtu se skutečným heslem.
Oficiální obrazy Alpine pro AWS a Azure od 3.18.11 do 3.24.3 jsou vážným případem: zahrnují výchozí uživatelské jméno alpine bez hesla a heslo-less doas, což znamená, že úspěšné přihlášení může stát root.
Neovlivněno: systémy založené na glibc, jako jsou Debian, Ubuntu a Fedora, nastavení, která kontrolují hesla přes PAM, Dropbear a OpenBSD. Účty se skutečným hashem hesla nelze tímto způsobem obejít.
Jak zkontrolovat své servery
Spusťte tyto jako root na každém Alpine serveru nebo kontejneru, který spouští sshd:
- Zkontrolujte nastavení SSH:
sshd -T | grep -i -E 'passwordauthentication|usepam'. Pokud je ověření heslem vypnuto nebo je zapnuto PAM, nelze tuto chybu využít. - Zkontrolujte nainstalovaný balíček:
apk list --installed | grep openssh, a porovnejte jej s opravenými verzemi níže. - Seznam účtů bez hesla:
awk -F: '$2=="*" {print $1}' /etc/shadow. - Hledejte přihlášení k těmto účtům:
grep "Accepted password" /var/log/messages. Přihlášení heslem k účtu s * v jeho heslovém poli znamená, že server byl pravděpodobně napaden.
Jak opravit CVE-2026-123158 na Alpine Linuxu
Alpine dodala opravené balíčky pro každou větev od 3.16 do edge ve stejný den jako zveřejnění. Aktualizujte a restartujte sshd, protože instalace aktualizace nerestartuje běžící proces:
apk upgrade -U -a a pak rc-service sshd restart
| Alpine branch | Opravená verze openssh |
|---|---|
| okraj | 10.6_p2-r0 |
| 3.24 | 10.3_p1-r2 |
| 3.23 | 10.2_p1-r1 |
| 3.22 | 10.0_p1-r11 |
| 3.21 | 9.9_p2-r1 |
| 3.20 | 9.7_p1-r6 |
| 3.19 | 9.6_p1-r3 |
| 3.18 | 9.3_p2-r4 |
| 3.17 | 9.1_p1-r7 |
| 3.16 | 9.0_p1-r6 |
Pro Docker obnovte každý obraz, který obsahuje openssh, z nového základního obrazu a znovu jej nasazte. Všimněte si, že některé obrazy SSH na Docker Hub, jako je linuxserver's openssh-server, vypínají přihlášení heslem ve výchozím nastavení, ale jsou vystaveny, když je nastaveno PASSWORD_ACCESS=true.
Starší verze Alpine než 3.16 nedostanou žádný opravený balíček. Upgradujte je na podporovanou verzi nebo použijte níže uvedené řešení.
Rychlá oprava: vypněte přihlášení SSH heslem
Pokud nemůžete okamžitě aktualizovat, nastavte PasswordAuthentication no v souboru /etc/ssh/sshd_config restartujte sshd a spusťte kontrolu sshd -T znovu. Ujistěte se, že váš přihlašovací SSH klíč funguje předtím, než to uděláte, jinak se můžete zamknout. Pouze klíčové SSH je dobrý výchozí stav pro jakýkoli server.
Co dělat, pokud si myslíte, že jste byli zasaženi
- Zkontrolujte použití doas, nedávno vytvořené uživatele a každý soubor authorized_keys.
- Zkontrolujte neznámé procesy, cron úlohy a odchozí připojení.
- Pokud nemůžete vyloučit kompromitaci, považujte server za kompromitovaný: obnovte jej z čistého obrazu a otočte každé heslo, klíč a token, které držel.
- Stáhněte si pouze ověřené proof-of-concept exploity z GitHubu pro testování vašich serverů. Výzkumníci varují, že některé nejsou ověřeny a mohou obsahovat malware.
Udržení serverů aktualizovaných je velkou součástí údržba webu Dělám to pro klienty. Pokud chcete pomoc s kontrolou vašeho hostingu, nastavení Dockeru nebo konfigurace SSH, nás kontaktem.
Často kladené otázky
Je Ubuntu nebo Debian ovlivněn sshole?
Ne. Systémy založené na Debianu, Ubuntu, Fedoře a dalších systémech založených na glibc nejsou ovlivněny, stejně jako nastavení, která používají PAM pro kontrolu hesel.
Chrání mě pouze SSH s klíčem?
Ano. Pokud je PasswordAuthentication nastaveno na no, server nepřijímá hesla, takže chyba nemůže být zneužita.
Je CVE-2026-123158 zneužíván?
Ano. Firma pro zpravodajství o hrozbách Previdian viděla první pokus o zneužití méně než devět hodin po zveřejnění CVE a útočník získal root na jednom z jeho honeypotů spuštěných na Alpine Linux.
Která verze OpenSSH to opravuje?
OpenSSH 10.6p2. Na Alpine nainstalujte opravu openssh balíčku pro vaši větev a restartujte sshd.
Je Docker kontejnery ovlivněn?
Kontejnery založené na Alpine, které spouštějí sshd s povoleným přihlášením heslem, mohou být ovlivněny. Přebuďte je z aktualizovaného základního obrazu a znovu nasazte.
Musím po aktualizaci restartovat?
Ano. Spuštěný sshd udržuje zranitelný kód v paměti, dokud službu nerestartujete.