Hosszú jelszóval lehet megkerülni az OpenSSH belépését Alpine Linuxon
Egy jelszó nélkül létrehozott fiókba a valódi jelszó ismerete nélkül is be lehet lépni SSH-n, ha az Alpine Linuxon több feltétel egyszerre teljesül. Az Alpine Linux figyelmeztetése szerint egy 257 és 1024 bájt közötti jelszó elég lehet a bejutáshoz. Javítás már elérhető, és átmeneti megoldás is van.
Több feltételnek kell egyszerre teljesülnie
A hiba az OpenSSH és a musl libc együttes működését érinti. Az Alpine Linux tájékoztatása szerint a bejutáshoz a támadónak el kell érnie az SSH-portot, és ismernie kell egy olyan fiók nevét, amelynek jelszómezője csillag. Ilyen lehet egy kizárólag kulccsal használt fiók.
Emellett kell legalább egy másik helyi fiók, amelynek tárolt jelszólenyomata $5$ vagy $6$ kezdetű. A jelszavas hitelesítésnek engedélyezve kell lennie, és az OpenSSH-kiszolgálónak PAM nélkül, vagy a PAM kikapcsolásával kell futnia. Az openssh-server-pam csomag UsePAM yes beállítással nem érintett.
A musl jelszóellenőrző függvénye túl hosszú bemenetnél csillagot ad vissza hibajelzésként. Ez megegyezhet a jelszó nélküli fiók tárolt mezőjével, ezért az OpenSSH elfogadhatja a belépést.
Ezek az Alpine-kiadások és környezetek érintettek
Az Alpine Linux a 3.16-tól 3.24-ig terjedő kiadásokat és az edge ágat nevezte érintettnek, ha a felsorolt feltételek fennállnak. A 3.21 és a régebbi kiadások támogatása már véget ért, de ezekhez is készült javított csomag egészen a 3.16-os verzióig.
Nem érintettek azok a konténerek, amelyekben nem fut az SSH-kiszolgáló. A cloud-init használatával beállított felhőképekben a jelszavas hitelesítés ki van kapcsolva. A hivatalos tiny-cloud képek 3.18.11 és 3.24.3 közötti változataiban viszont egy jelszólenyomat későbbi létrehozása kihasználhatóvá teheti a hibát. A támadó az alpine fiókból a doas használatával root jogosultságot szerezhet.
A StatCounter mérése szerint 2026 októberében a magyar asztali operációs rendszerekről érkező látogatások 4,2%-a Linuxról jött. Ez az adat nem mutatja meg, hány érintett rendszer működik.
A frissítés után újra kell indítani az SSH-kiszolgálót
Az OpenSSH 10.6p2 kiadása elkerüli a hibát. Alpine rendszeren a javítás a különböző kiadási ágak saját csomagjaiban is megjelent, ezért nem minden ágon ugyanaz a verziószám. Az Alpine Linux az alábbi javított csomagokat sorolja fel:
| Alpine-ág | Javított OpenSSH-csomag |
|---|---|
| edge | 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 |
A csomagfrissítés önmagában nem cseréli le a futó SSH-kiszolgálót: azt utána újra kell indítani. Ha a frissítés még nem lehetséges, az Alpine útmutatója a jelszavas belépés kikapcsolását és a szolgáltatás újraindítását javasolja. A módosítás előtt meg kell győződni arról, hogy a kulcsos belépés működik, az aktuális munkamenetet pedig egy új belépés teszteléséig nyitva kell tartani.
A naplóban is nyoma lehet a belépésnek
A gyanús belépés kereséséhez az Alpine Linux a /var/log/messages naplót ajánlja. Az „Accepted password for” kezdetű SSH-bejegyzés árulkodó lehet, ha olyan fiókra vonatkozik, amelynek nincs jelszava.
Az érintett, elérhető gépeken a doas használatát, valamint a közelmúltban létrehozott felhasználókat, fájlokat és engedélyezett kulcsokat is át kell nézni. Ha a belépés nem zárható ki, az Alpine figyelmeztetése szerint kompromittálódottként kell kezelni a gépet.
A cikk mesterséges intelligencia segítségével készült; a szerkesztőség ellenőrizte és jóváhagyta. Impresszum