OpenSSH 9.9p2 odpravlja dve kritični ranljivosti MITM

OpenSSH ponuja bogat nabor zmožnosti varnega tuneliranja

Pred nekaj dnevi, Damian Miller (eden od razvijalcev OpenSSH), dal vedeti, prek poštnih seznamov, Izdaja vzdrževanja OpenSSH 9.9p2 da odpravlja dve kritični ranljivosti odkril Qualys, ki bi ga lahko izkoristili za izvajanje napadov Man-in-the-Middle (MITM).

Omenjeno je, da te napake napadalcu omogočil prestrezanje povezav SSH in pretentati odjemalca, da namesto zakonitega ključa ciljnega strežnika sprejme ključ zlonamernega strežnika.

CVE-2025-26465: Obvod preverjanja ključa SSH

Prva od ranljivosti, ki je bila odpravljena v izdaji te popravne različice, je CVE-2025-26465. Ta ranljivost je posledica logične napake v pripomočku ssh, ki napadalcu omogoča, da obide preverjanje ključa strežnika in uspešno izvede napad MITM.

Ko se odjemalec poskuša povezati na strežnik SSH, Napadalec lahko preusmeri promet na lažni strežnik in povzroči, da odjemalec brez opozorila sprejme napačen ključ, saj verjame, da je povezan z zakonitim strežnikom.

Poleg tega ta ranljivost:

  • V OpenSSH je prisoten od različice 6.8p1 (december 2014).
  • Sproži se, ko je omogočena možnost VerifyHostKeyDNS.
  • V osnovni konfiguraciji OpenSSH je ta možnost privzeto onemogočena, v FreeBSD pa je bila omogočena do marca 2023.

Kar se tiče vzrokov ki povzročajo to neuspeh, je omenjeno, da To je zato, ker funkcija verify_host_key_callback() kliče verify_host_key(), vendar samo preveri, ali je vrnjena koda napake -1, pri čemer ignorira druge kode napak, kot je -2. kdaj verify_host_key() vrne -2, ko ni dovolj pomnilnika, vendar zaradi izpustitve kode napake, Sistem pomotoma domneva, da je ključ gostitelja preverjen pravilno.

Napadalec lahko tako izkoristi to napako tako, da ustvari lažni strežnik SSH, ki pošlje velik gostiteljski ključ (256 KB), kar povzroči prekomerno porabo pomnilnika pri odjemalcu in sproži stanje neobravnavane napake.

CVE-2025-26466: Puščanje pomnilnika in čezmerna poraba procesorja v SSH

Druga ranljivost, ki je bila odpravljena, je CVE-2025-26466 in ta ranljivost vpliva tako na odjemalca ssh kot na strežnik sshd, saj omogoča izčrpavanje spomina procesa in ustvari visoko obremenitev procesorja z večkratnim pošiljanjem paketov SSH2_MSG_PING.

Velik vpliv te ranljivosti je v tem, da Lahko se izkorišča brez preverjanja pristnosti in vpliva na OpenSSH od različice 9.5p1 (avgust 2023). Poleg tega napadalcu omogoča, da porabi sistemske vire, zmanjša zmogljivost in celo povzroči zavrnitev storitve (DoS).

Glede vzrokov, ki povzročajo ta neuspeh, je omenjeno, da je to posledica dejstva, da Vsak dohodni 2-bajtni paket SSH16_MSG_PING povzroči dodelitev 256-bajtnega medpomnilnika v spominu. Ta medpomnilnik se ne sprosti, dokler dogovor o ključu ni dokončan, kar povzroči uhajanje pomnilnika, ko je poslanih več paketov PING.

Blažitev in rešitev

Kot rešitev Priporočljivo je določiti omejitve v sshd_config z uporabo naslednjih direktiv:

  • Prijava GraceTime: To omeji časovno omejitev za preverjanje pristnosti.
  • Max Startups: omejuje število nepreverjenih povezav.
  • PerSourcePenalties: uporabi kazni za odjemalce, ki ustvarijo večkratne poskuse povezave.

In kar zadeva rešitve, Prva in najbolj priporočljiva je nadgradite OpenSSH na izdano različico, »9.9p2« čim prej odpraviti te ranljivosti. Če pa takojšnja nadgradnja ni izvedljiva, je treba uporabiti zgoraj navedene omilitvene ukrepe. Poleg tega je priporočljivo onemogočiti VerifyHostKeyDNS, razen če uporabljate zanesljive mehanizme preverjanja DNSSEC.

Če ste zanima več o tem, podrobnosti lahko preverite v naslednjo povezavo.

Kako namestiti OpenSSH na Linux?

Za tiste, ki jih zanima namestitev te nove različice OpenSSH v svoje sisteme, za zdaj lahko to storijo nalaganje izvorne kode tega in izvajajo kompilacijo na svojih računalnikih.

To pa zato, ker nova različica še ni bila vključena v repozitoriji glavnih distribucij Linuxa. Če želite dobiti izvorno kodo, lahko to storite iz naslednjo povezavo.

Končal prenos, zdaj bomo paket razpakirali z naslednjim ukazom:

tar -xvf openssh-9.9p2.tar.gz

Vnesemo ustvarjeni imenik:

cd openssh-9.9p2

Y lahko sestavimo z naslednje ukaze:

./configure --prefix = / opt --sysconfdir = / etc / ssh make make install