A Nemzetbiztonsági Szakszolgálat Nemzeti Kiberbiztonsági Intézet (NBSZ NKI) riasztást ad ki az OpenSSH sshd szolgáltatását érintő, *sshole néven ismertté vált, CVE-2026-123158 azonosítójú, magas kockázati besorolású (CVSS 8.1) sérülékenység kapcsán. A hiba egyes, musl libc-t használó, PAM nélküli Linux-rendszereken (jellemzően Alpine Linuxon, illetve az OpenWRT is) lehetővé teszi, hogy a támadó a fiók érvényes jelszavának vagy SSH-kulcsának ismerete nélkül bejelentkezzen olyan felhasználói fiókba, amelyhez nem tartozik használható jelszó. A sérülékenység a hálózaton keresztül, hitelesítés nélkül kihasználható, nyilvánosan elérhető proof-of-concept is létezik, ezért az érintett rendszerek haladéktalan frissítése javasolt.
A sérülékenység oka
PAM használata nélkül az sshd a jelszavakat saját maga ellenőrzi. A C-könyvtár crypt() függvényével számított hash-t hasonlítja össze az /etc/shadow fájlban tárolt értékkel. Ha egy fiók tárolt jelszómezője túl rövid ahhoz, hogy sót (salt) tartalmazzon, az sshd a sót egy másik helyi fiók hash-éből kölcsönzi.
A musl SHA-256 és SHA-512 alapú jelszóhash-elése a 256 bájtnál hosszabb jelszót elutasítja, a hibát azonban nem hibakóddal, hanem egyetlen * karaktert tartalmazó visszatérési értékkel jelzi. Az Alpine Linux ugyanezt az egyetlen * karaktert tárolja azon fiókok jelszómezőjében, amelyekhez nincs használható jelszó. A két érték megegyezik, ezért az sshd a bejelentkezést sikeresnek tekinti.
A hiba gyökere az sshd-n kívül, a C-könyvtárban van, az sshd-n keresztül azonban kihasználható és ott kezelhető. A javítás ennek megfelelően megakadályozza, hogy az sshd négy karakternél rövidebb tárolt hash esetén egyezést fogadjon el.
A kihasználás módja
A támadónak nincs szüksége érvényes jelszóra vagy SSH-kulcsra. Az SSH-szolgáltatást elérő támadó a célfiók nevével és egy 257-1024 bájt hosszúságú, tetszőleges jelszóval kísérelheti meg a bejelentkezést. A kihasználhatóság feltételei együttesen:
- az sshd musl libc-t használó rendszeren fut, PAM nélkül;
- a jelszavas hitelesítés engedélyezett (PasswordAuthentication yes);
- a rendszeren legalább egy helyi fiók valódi, SHA-256 ($5$) vagy SHA-512 ($6$) alapú jelszóhash-sel rendelkezik (például egy adminisztrátor egyszer jelszót állított be);
- a célfiók jelszómezője az /etc/shadow fájlban egyetlen * karakter.
Ilyen fiók lehet az Alpine alap image-ek root fiókja (nagyjából a 3.16-os kiadástól), a kizárólag kulcsos bejelentkezésre létrehozott szolgáltatás és üzemeltetői fiókok, a címtárszolgáltatásból (nslcd, winbind, sssd) érkező, helyi shadow bejegyzés nélküli felhasználók, valamint az Alpine tiny-cloud image-ek alapértelmezett alpine felhasználója. A ! karakterrel zárolt fiókok nem érintettek.
A root fiók elérhetősége az sshd PermitRootLogin beállításától függ. Az alapértelmezett prohibit-password érték megakadályozza a jelszavas root bejelentkezést, egyes image-ek és eszközök azonban ezt lazítják. Az Alpine tiny-cloud image-ekben (3.18.11–3.24.3) az alpine felhasználó jelszó nélkül használhatja a doas parancsot, így a sikeres bejelentkezés közvetlenül root jogosultsághoz vezethet.
A közlemény kiadásakor éles támadásokban történő, megerősített kihasználásról nincs információ, a hiba nem szerepel a CISA KEV katalógusában. A nyilvános proof-of-concept miatt azonban a kihasználás gyors megjelenése valószínűsíthető.
Érintett rendszerek
- a Portable OpenSSH 10.6p2 előtti sshd verziói musl libc-t használó, PAM nélküli Linux-rendszereken;
- az Alpine Linux (az alapértelmezett openssh-server csomag PAM nélkül készül), beleértve az sshd-t futtató konténereket is;
- egyéb musl-alapú rendszerek, például egyes beágyazott eszközök és hálózati berendezések firmware-ei (a gyártótól ellenőrizendő).
Javított kiadások a 3.24.4, 3.23.8, 3.22.8, 3.21.10 verziók. Az Alpine a már nem támogatott 3.16 – 3.20 ágakhoz is kiadott javítást. A 3.16-nál régebbi kiadásokhoz javított csomag nem várható, ezeken újabb alaprendszerre váltás szükséges.
Javasolt intézkedések
- Frissítés: az érintett rendszereken javasolt a javított csomag telepítése, majd az sshd szolgáltatás újraindítása. Az újraindítás nélkül a memóriában futó, sérülékeny folyamat tovább szolgálja ki a bejelentkezéseket.
- Image-ek újraépítése: a javított kiadások előtt készült image-ek és konténer alapképek sérülékenyek maradnak, amíg újra nem épülnek.
- Kulcsos hitelesítés érvényesítése az sshd-ben: a „csak kulccsal használható fiók” kialakításához nem elegendő a * jelszómező. A jelszavas hitelesítést az sshd_config fájlban globálisan vagy Match blokkal kell tiltani.
- Átmeneti kockázatcsökkentés: ha a frissítés azonnal nem végezhető el, az sshd_config fájlban a PasswordAuthentication no beállítással tiltható a jelszavas hitelesítés. A módosítás előtt egy másik, nyitva tartott munkamenetből ellenőrizendő, hogy a kulcsos bejelentkezés működik. Alternatíva a PAM-támogatással épített openssh-server-pam csomag UsePAM yes beállítással.
- Visszamenőleges ellenőrzés: javasolt a hatályos konfiguráció (sshd -T), a * jelszómezős és a valódi hash-sel rendelkező fiókok (/etc/shadow), valamint az sshd naplójának (Alpine-on alapértelmezetten /var/log/messages) átvizsgálása. Egy * jelszómezős fiókra vonatkozó „Accepted password for” bejegyzés kompromittálódásra utal, mert ilyen fiókba legitim módon jelszavas bejelentkezés nem lehetséges.
- Az SSH-szerverek közvetlen internetes elérésének megszüntetése: általánosságban javasolt, hogy az SSH szerverek ne legyenek elérhetők közvetlenül az internet felől. A távoli adminisztratív hozzáférést célszerű VPN-en vagy jump host (bastion) szerveren keresztül, tűzfallal vagy hozzáférési listával szűkített forráscímekről biztosítani, kulcs alapú, lehetőség szerint többfaktoros hitelesítéssel. Az ilyen kialakítás a még ismeretlen vagy frissen publikált sérülékenységek kihasználását is megnehezíti, mint amilyen a jelen riasztásban ismertetett hiba.
(forrás)

