Available na ngayon ang OpenSSH 9.9p2, isang maintenance release, na tumutugon sa dalawang kahinaan na tinukoy ng Qualys. Ang isang halimbawa ng paggamit ng mga kahinaang ito upang magsagawa ng pag-atake ng MITM ay ipinakita, na nagbibigay-daan, kapag sinubukan ng isang kliyente na kumonekta sa isang SSH server, na i-redirect ang trapiko sa sarili nitong fictitious server, i-bypass ang check ng host key, at lumikha ng hitsura ng isang koneksyon sa nais na server para sa kliyente (tatanggapin ng SSH client ang host key ng fictitious server sa halip na ang susi ng lehitimong server).
Ang unang kahinaan (CVE-2025-26465) ay sanhi ng isang lohikal na error sa ssh utility, na nagbibigay-daan sa pag-bypass sa pagsusuri ng pagkakakilanlan ng server at pagsasagawa ng MITM attack. Ang isyu ay naobserbahan mula noong inilabas ang OpenSSH 6.8p1 (Disyembre 2014) sa mga pagsasaayos na pinagana ang VerifyHostKeyDNS setting. Sa base na pamamahagi ng OpenSSH, ang opsyong ito ay hindi pinagana bilang default, ngunit hanggang Marso 2023 ito ay pinagana sa mga setting ng ssh sa FreeBSD.
Ang problema ay na sa verify_host_key_callback() function code, kapag tumatawag sa verify_host_key() function, ang error code na "-1" lang ang sinusuri, at iba pang mga code, gaya ng "-2", ay binabalewala. Bilang resulta, ang verify_host_key_callback() function ay maaaring magbalik ng success code na "0" sa kabila ng error code na "-2" na ibinalik ng verify_host_key() function. Ang error code na "-2" ay ibinalik ng verify_host_key() function kapag walang sapat na memorya. Kung gagawa ka ng mga kundisyon na nagdudulot ng hindi paglalaan ng memorya sa function na verify_host_key(), ipapalagay ng SSH na matagumpay na na-verify ang host key. Upang lumikha ng ganitong mga kundisyon, ang pekeng SSH server ng umaatake, kung saan na-redirect ang kliyente, ay nagbabalik ng host key na may pinakamataas na posibleng laki (256KB), at kasabay nito ang isang memory leak ay pinagsamantalahan sa panig ng kliyente ng SSH.
Ang mga kondisyon para sa paglikha ng memory leak ay nakakamit salamat sa pangalawang kahinaan (CVE-2025-26466) na nakakaapekto sa parehong ssh client at server sshd, at ginagamit nang walang authentication. Ang kahinaan ay nagpapahintulot sa isang proseso na maubos ang available na memorya nito at lumikha ng mataas na CPU load sa pamamagitan ng pagpapadala ng malaking bilang ng mga SSH2_MSG_PING packet. Ang SSH2_MSG_PING packet handler ay naglalaman ng memory leak, na umiiral simula nang ilabas ang OpenSSH 9.5p1 (Agosto 2023). Nangyayari ang leak dahil isang 256-byte buffer ang inilalaan para sa bawat papasok na 16-byte PING packet upang bumuo ng isang tugon, ngunit ang buffer na ito ay napapalaya lamang pagkatapos makumpleto ang key negotiation. Bilang isang workaround, iminungkahi ang pag-configure ng mga limitasyon gamit ang mga direktiba ng LoginGraceTime, MaxStartups, at PerSourcePenalties.
Pinagmulan: opennet.ru
