sshole (CVE-2026-123158): OpenSSH-haavoittuvuus, joka vaikuttaa Alpine Linuxiin ja miten se korjataan

Kirjoittanut Eoin Villarin | Eoin Villarin, 2026-11-07

OpenSSH-virhe nimeltä sshole sallii hyökkääjien kirjautua sisään salasanoittomiin tileihin Alpine Linuxissa ja muissa musl-pohjaisissa järjestelmissä, ja sitä on jo hyödynnetty. Ketkä ovat vaikuttaneet, miten tarkistaa palvelimet ja miten korjata se.

Olenko vaikuttanut sshole OpenSSH-heikkoudesta?

Olet vaarassa, jos palvelin käyttää OpenSSH vanhempaa kuin 10.6p2 musl-pohjaisessa järjestelmässä, kuten Alpine Linuxissa ilman PAMia, sallii SSH-salasana kirjautumiset, ja on tili, jonka salasana on vain tähti vieressä toisen tilin kanssa, jolla on todellinen salasana hash. Debian, Ubuntu, Fedora ja asetukset, jotka käyttävät PAMia, eivät ole vaarassa.

Avainasiat

  • CVE-2026-123158, nimeltä sshole, sallii hyökkääjien kirjautua musl-pohjaiseen Linuxiin lähettämällä ylisuuren salasanan.
  • Alpine Linuxin oletusarvoinen openssh-server-paketti on vaikuttanut, kun taas glibc-järjestelmät, kuten Ubuntu, ja PAM-käyttöön perustuvat asetukset eivät ole.
  • Hyökkääjät hyödynsivät sitä alle yhdeksän tunnin kuluttua sen julkaisemisesta ja saivat pääkäyttäjän oikeudet hunajapurkissa.
  • Korjaus on OpenSSH 10.6p2 tai Alpine-paketoidun paketin haara, jota seuraa sshd- uudelleenkäynnistys.
  • Jos et voi päivittää vielä, aseta PasswordAuthentication no ja käytä SSH-avaimia.

Äskettäin paljastettu OpenSSH-heikkous nimeltä sshole, jäljitetty CVE-2026-123158, sallii hyökkääjien kirjautua tiettyihin Linux-tileihin, jotka eivät ole tarkoitettu hyväksymään salasanoja lainkaan. Se vaikuttaa OpenSSH:hon musl-pohjaisissa järjestelmissä, kuten Alpine Linuxissa, se korjattiin 5. marraskuuta 2026, ja hyökkääjät alkoivat käyttää sitä alle yhdeksän tunnin kuluttua sen julkaisemisesta. Jos käytät Alpine-palveluita, Alpine-pohjaisia Docker-kuvia SSH:llä tai pieniä laitteita OpenWrt:llä, tarkista ne tänään.

Mikä on sshole OpenSSH-heikkous?

Musl-pohjaisissa järjestelmissä C-kirjaston crypt()-funktio palauttaa yhden tähden (*) epäonnistuessaan salasanan hajauttamisessa, esimerkiksi kun salasana on pidempi kuin sen 256-bajtin raja. Monet Linux-järjestelmät käyttävät myös yhtä * salasanakentässä merkitsemään, että "tällä tilillä ei ole salasanaa." OpenSSH vertasi kahta, näki * ja piti sitä vastaavana. Ylipitkä salasana oli riittävä kirjautumaan sisään salasanalta tilille.

Käyttäytyminen palaa vuoteen 2016 tehtyyn muutokseen OpenSSH:n salasanan käsittelyssä. Turvallisuustutkija Özgün Kültekin löysi sen tekoälyagenttien avulla, jotka suorittivat noin 17 600 todennustestiä. CVE:llä on CVSS 3.1 -pistemäärä 8.1, joka on arvioitu Korkeaksi, ja korjaus toimitettiin OpenSSH 10.6p2:ssa.

Olenko vaikuttanut?

Palvelin on vaarassa, kun kaikki seuraavat ovat tosia:

  • Se käyttää OpenSSH:aa vanhempaa kuin 10.6p2 musl-pohjaisessa järjestelmässä, kuten Alpine Linux, OpenWrt, Buildroot tai Yocto.
  • sshd ei käytä PAMia. Tämä on oletus Alpine‑n openssh-server‑paketissa.
  • SSH-salasanakirjautumiset ovat käytössä, mikä on OpenSSH:n oletusarvo.
  • Vähintään yhdellä tilillä on vain * salasanakentässä, kuten avaimen käyttäjä, vieressä toisen tilin kanssa, jolla on todellinen salasana-hash.

Alpen viralliset AWS- ja Azure-pilvikuvat versiosta 3.18.11 to 3.24.3 ovat vakava tapaus: ne sisältävät oletusarvoisen alpine-käyttäjän, jolla ei ole salasanaa ja salasanatonta doasia, mikä tarkoittaa, että onnistunut kirjautuminen voi tulla pääkäyttäjäksi.

Ei vaikutusta: glibc-pohjaiset järjestelmät kuten Debian, Ubuntu ja Fedora, asetukset, jotka tarkistavat salasanat PAM:n, Dropbearin ja OpenBSD:n kautta. Tilejä, joilla on todellinen salasanahash, ei voida ohittaa tällä tavalla.

Kuinka tarkistaa palvelimesi

Suorita nämä root-käyttäjänä jokaisessa Alpine-palvelimessa tai -kontissa, joka käyttää sshd:ä:

  1. Tarkista SSH-asetukset: sshd -T | grep -i -E 'passwordauthentication|usepam'. Jos salasanan todentaminen on pois tai PAM on päällä, tätä heikkoutta ei voida käyttää.
  2. Varmista asennettu paketti: apk list --installed | grep openssh, ja vertaa sitä alla oleviin korjattuihin versioihin.
  3. Listaa tilit, joilla ei ole salasanaa: awk -F: '$2=="*" {print $1}' /etc/shadow.
  4. Etsi kirjautumisia niihin tileihin: grep "Accepted password" /var/log/messages. Salasanan kirjautuminen tiliin, jolla on * salasanakentässä, tarkoittaa, että palvelin on luultavasti hyökätetty.

Kuinka korjata CVE-2026-123158 Alpine Linuxissa

Alpine toimitti korjatut paketit jokaiselle haaralle 3.16:sta edgeen samana päivänä kuin tiedonanto. Päivitä ja käynnistä sshd uudelleen, koska päivityksen asentaminen ei käynnistä toimivaa prosessia:

apk upgrade -U -a ja sitten rc-service sshd restart

Alpine-haaraKorjattu OpenSSH-versio
reuna10.6_p2-r0
3.2410.3_p1-r2
3.2310.2_p1-r1
3.2210.0_p1-r11
3.219.9_p2-r1
3.209.7_p1-r6
3.199.6_p1-r3
3.189.3_p2-r4
3.179.1_p1-r7
3.169.0_p1-r6

Dockerissa rakenna uudelleen jokainen kuva, joka sisältää OpenSSH:n, tuoreesta peruskuvasta ja ota se uudelleen käyttöön. Huomaa, että jotkin SSH-kuvat Docker Hubissa, kuten linuxserverin openssh-server, sammuttavat salasanakirjautumiset oletusarvoisesti, mutta ne tulevat alttiiksi, kun PASSWORD_ACCESS=true on asetettu.

Vanhemmat Alpine-versiot kuin 3.16 eivät saa korjattua pakettia. Päivitä ne tuettuun versioon tai käytä alla olevaa kiertotapaa.

Pika-workaround: sammuta SSH-salasanakirjautumiset

Jos et voi päivittää heti, aseta PasswordAuthentication no /etc/ssh/sshd_config-tiedostossa, käynnistä sshd uudelleen ja suorita sshd -T -tarkistus uudelleen. Varmista, että SSH-avaimen kirjautuminen toimii ennen tätä, muuten voit lukita itsesi ulos. Vain avaimella toimiva SSH on hyvänä oletuksena kaikille palvelimille.

Mitä tehdä, jos luulet olevasi saanut osuman

  • Tarkista doas-käyttö, äskettäin luodut käyttäjät ja jokainen authorized_keys-tiedosto.
  • Tarkista tuntemattomat prosessit, cron-tehtävät ja lähtevät yhteydet.
  • Jos et voi sulkea pois kompromettia, käsittele palvelin komprometoituneena: rakenna se uudelleen puhtaasta kuvasta ja vaihda kaikki salasanat, avaimet ja tokenit, joita se piti.
  • Älä lataa proof-of-concept -hyökkäyksiä GitHubista testataksesi palvelimia. Tutkijat varoittavat, että jotkin niistä ovat vahvistamattomia ja saattavat sisältää haittaohjelmia.

Palvelimien pitäminen ajan tasalla on suuri osa verkkosivuston ylläpito Teen asiakkailleni. Jos haluat apua palvelimesi, Docker-asetusten tai SSH-määritysten tarkistamiseen, ota yhteyttä.

Usein kysytyt kysymykset

Onko Ubuntu tai Debian vaikuttaa ssholeen?

Ei. Debian, Ubuntu, Fedora ja muut glibc-pohjaiset järjestelmät eivät ole vaarassa, eikä niitä, jotka käyttävät PAMia salasana tarkistuksiin.

Suojellaako ainoastaan avaimella SSH minua?

Kyllä. SalasanaAuthentication-asetuksella ei ole palvelin ei hyväksy salasanoja, joten haavoittuvuutta ei voida käyttää.

Onko CVE-2026-123158 käytetty hyväksi?

Kyllä. Uhkaintelligenssifirma Previdian näki ensimmäisen yrityksen alle yhdeksän tunnin kuluttua CVE:n julkaisemisesta, ja hyökkääjä sai pääkäyttäjän oikeudet yhdelle sen hunajapotteista, jotka käyttävät Alpine Linuxia.

Mikä OpenSSH-versio korjaa sen?

OpenSSH 10.6p2. Asenna Alpineen korjattu openssh-paketti haaraasi varten ja käynnistä sshd uudelleen.

Ovatko Docker-konteissa vaikuttaa?

Alpineen perustuvat kontit, joissa sshd on käynnissä ja salasana kirjautuminen on käytössä, voivat olla vaarassa. Rakenna ne uudelleen päivitetystä peruskuvasta ja ota ne uudelleen käyttöön.

Pitääkö minun käynnistää palvelin uudelleen päivityksen jälkeen?

Kyllä. Käynnissä oleva sshd pitää haavoittuvan koodin muistissa, kunnes käynnistät palvelun uudelleen.

Lähteet

Liittyvä lukeminen