sshole (CVE-2026-123158): Az OpenSSH hiba, amely az Alpine Linuxot érinti és hogyan javítható

Által Eoin Villarin, 2026-11-07

Az OpenSSH sshole nevű biztonsági rése lehetővé teszi a támadók számára, hogy jelszó nélküli fiókokba lépjenek be az Alpine Linux és más musl-alapú rendszereken, és már ki is használják. Ki érintett, hogyan ellenőrizheti szervereit és hogyan javíthatja ki.

Érintett-e az sshole OpenSSH hibával?

Kockázat alatt van, ha egy szerver OpenSSH 10.6p2-nél régebbi verzióját futtatja musl-alapú rendszeren, mint például az Alpine Linux PAM nélkül, lehetővé teszi az SSH jelszó bejelentkezést és van egy fiók, amelynek jelszó mezője csak egy csillag egy másik fiók mellett valós jelszó hash-szel. A Debian, Ubuntu, Fedora és PAM-ot használó beállítások nem érintettek.

Főbb megállapítások

  • CVE-2026-123158, az úgynevezett sshole, lehetővé teszi a támadók számára, hogy jelszó nélküli fiókokba lépjenek be musl-alapú Linuxon egy túlméretezett jelszó küldésével.
  • Az Alpine Linux alapértelmezett openssh-server csomagja érintett, míg a glibc rendszerek, például az Ubuntu és a PAM-ot használó beállítások nem.
  • A támadók kevesebb mint kilenc órával később használták ki, miután közzétették, és gyökér szintet értek el egy mézeskalácson.
  • A fix az OpenSSH 10.6p2 vagy az Alpine javított csomagja az Ön ágához, majd egy sshd újraindítás.
  • Ha még nem tudja frissíteni, állítsa be a PasswordAuthentication no-t, és használjon SSH kulcsokat.

Egy újonnan nyilvánosságra hozott OpenSSH hibát, az úgynevezett sshole-t, CVE-2026-123158-as számmal, lehetővé teszi a támadók számára, hogy bizonyos Linux fiókokba lépjenek be, amelyeknek nem szabad elfogadniuk jelszavakat. Ez érinti az OpenSSH-t musl-alapú rendszereken, például az Alpine Linuxon, és 2026. november 5-én javították, és a támadók kevesebb mint kilenc órával később kezdték el használni, miután közzétették. Ha Alpine szervereket, Alpine-alapú Docker képeket SSH-val, vagy kis eszközöket OpenWrt-n futtat, ellenőrizze őket ma.

Mi az sshole OpenSSH hiba?

Musl-alapú rendszereken a C könyvtár crypt() függvénye visszaad egy csillagot (*), ha nem tudja hasholni a jelszót, például ha a jelszó hosszabb, mint a 256 bájtos korlátozás. Sok Linux rendszer szintén egyetlen * jelet használ a jelszó mezőben, hogy jelezze "ennek a fióknak nincs jelszava". Az OpenSSH összehasonlította a kettőt, látta a *-ot, és egyezésnek tekintette. Egy túlméretezett jelszó küldése elegendő volt ahhoz, hogy belépjen egy jelszó nélküli fiókba.

A viselkedés visszamegy egy 2016-os változásra az OpenSSH jelszó kezelésében. A biztonsági kutató Özgün Kültekin felfedezte azt AI ügynökök segítségével, amelyek körülbelül 17 600 hitelesítési tesztet futtattak. A CVE CVSS 3.1 pontszáma 8.1, amelyet magasnak értékelnek, és a fix az OpenSSH 10.6p2-ben érkezett.

Érintett vagyok?

Egy szerver veszélyben van, ha mindezek igazak:

  • Ez OpenSSH-t futtat 10.6p2-nél régebbi verzión musl-alapú rendszeren, például Alpine Linux, OpenWrt, Buildroot vagy Yocto.
  • az sshd nem használja a PAM-ot. Ez az alapértelmezett az Alpine openssh-server csomagja esetében.
  • Az SSH jelszó bejelentkezések engedélyezve vannak, ami az OpenSSH alapértelmezett beállítása.
  • Legalább egy fióknak csak * van a jelszó mezőjében, például egy kulcsos felhasználó mellett, egy másik fiókkal, amely valós jelszó hash-szel rendelkezik.

Az Alpine hivatalos AWS és Azure felhőképei 3.18.11-től 3.24.3-ig súlyos esetek: alapértelmezett alpine felhasználót tartalmaznak jelszó nélkül és jelszó nélküli doas-t, ami azt jelenti, hogy egy sikeres bejelentkezés root lehet.

Nem érintett: Debian, Ubuntu és Fedora alapú rendszerek, például PAM-on keresztül jelszavakat ellenőrző beállítások, Dropbear és OpenBSD. A tényleges jelszóhash-szel rendelkező fiókok ily módon nem kerülhetnek ki.

A szerverek ellenőrzése

Futtassa ezeket a gyökér felhasználóként minden Alpine szerveren vagy konténeren, amelyen sshd fut:

  1. Ellenőrizze az SSH beállításokat: sshd -T | grep -i -E 'passwordauthentication|usepam'. Ha a jelszó hitelesítés ki van kapcsolva, vagy a PAM be van kapcsolva, akkor ezt a hibát nem lehet használni.
  2. Vizsgálja meg a telepített csomagot: apk list --installed | grep openssh, és hasonlítsa össze az alábbi rögzített verziókkal.
  3. Listázza ki a felhasználókat jelszó nélkül: awk -F: '$2=="*" {print $1}' /etc/shadow.
  4. Keresés a bejelentkezésekhez ezekhez a fiókokhoz: grep "Accepted password" /var/log/messages. A jelszó bejelentkezés egy fiókba, amelynek jelszó mezőjében * van, azt jelenti, hogy a szerver valószínűleg megtámadták.

A CVE-2026-123158 kijavítása Alpine Linuxon

Az Alpine szállított javított csomagokat minden 3.16-tól edge-ig terjedő ágra ugyanazon a napon, mint a nyilvánosságra hozatal. Frissítse és indítsa újra az sshd-t, mert a frissítés telepítése nem indítja újra a futó folyamatot:

apk upgrade -U -a és akkor rc-service sshd restart

Alpine ágMegjavított openssh verzió
él10.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

A Docker esetében újjá kell építeni minden olyan képet, amely tartalmazza az openssh-t egy friss alapképből, majd újra kell telepíteni. Vegye figyelembe, hogy néhány SSH kép a Docker Hubon, például a linuxserver openssh-server, alapértelmezés szerint kikapcsolja a jelszó bejelentkezéseket, de ki van téve, ha a PASSWORD_ACCESS=true van beállítva.

A 3.16-nál régebbi Alpine kiadások nem kapnak rögzített csomagot. Frissítse őket egy támogatott kiadásra, vagy használja az alábbi munkakörnyezetet:

Gyors megoldás: kapcsolja ki az SSH jelszó bejelentkezéseket

Ha nem tudja frissíteni azonnal, állítsa be PasswordAuthentication no az /etc/ssh/sshd_config fájlban, indítsa újra az sshd-t és futtassa újra az sshd -T ellenőrzést. Győződjön meg róla, hogy az SSH kulcsos bejelentkezés működik, mielőtt ezt megtenné, különben bezárhatja magát. A csak kulcsos SSH jó alapértelmezés minden szerverhez.

Mit tegyen, ha úgy gondolja, hogy célba vették

  • Tekintse át a doas használatát, a közelmúltban létrehozott felhasználókat és minden authorized_keys fájlt.
  • Ellenőrizze az ismeretlen folyamatokat, a cron feladatokat és a kimenő kapcsolatokat.
  • Ha nem tudja kizárni a kompromittálást, kezelje a szerverként kompromittáltnak: építse újjá egy tiszta képből, és forgassa el minden jelszavát, kulcsát és tokenjét.
  • Ne töltsön le bizonyíték-fogalom exploitokat a GitHubról a szerverek teszteléséhez. A kutatók figyelmeztetnek, hogy néhányat nem ellenőriztek, és rosszindulatú programokat tartalmazhatnak.

A szerverek frissítése a munka nagy része weboldal karbantartás Ez az, amit az ügyfelekért teszek. Ha segítségre van szüksége a tárhely, a Docker beállítás vagy az SSH konfiguráció ellenőrzésében, lépjen kapcsolatba velem.

Gyakran ismételt kérdések

Érintett-e az Ubuntu vagy a Debian a sshole által?

Nem. A Debian, Ubuntu, Fedora és más glibc-alapú rendszerek nem érintettek, ahogy azok a beállítások sem, amelyek PAM-ot használnak jelszó ellenőrzésre.

A csak kulcsos SSH véd-e engem?

Igen. Ha a PasswordAuthentication értéke no-ra van állítva, a szerver nem fogad jelszavakat, így a sebezhetőség nem használható ki.

Exploálták-e a CVE-2026-123158-at?

Igen. A Previdian fenyegetettségi intelligencia cég kevesebb mint kilenc órával a CVE közzététele után látta az első kísérletet, és egy támadó root hozzáférést szerzett egy Alpine Linux-ot futtató honeypot-on.

Melyik OpenSSH verzió javítja a problémát?

OpenSSH 10.6p2. Az Alpine-on telepítse a javított openssh csomagot a saját branch-éhez és indítsa újra az sshd-t.

Érintettek-e a Docker konténerek?

Azokkal a konténerekkel, amelyek az Alpine-on alapulnak és sshd-t futtatnak engedélyezett jelszó bejelentkezéssel, probléma lehet. Újra kell építeni őket frissített alapképből és újra kell telepíteni.

Újra kell indítanom frissítés után?

Igen. A futó sshd a sebezhető kódot a memóriában tartja, amíg újra nem indítja a szolgáltatást.

Források

Kapcsolódó olvasnivaló