Преди няколко дни, Деймиън Милър (един от разработчиците на OpenSSH), го направи известен, чрез пощенски списъци, на Версия за поддръжка на OpenSSH 9.9p2 че поправя две критични уязвимости открити от Qualys, които могат да бъдат използвани за извършване на атаки Man-in-the-Middle (MITM).
Споменава се, че тези грешки позволи на нападател да прихване SSH връзки и подвежда клиента да приеме ключ на злонамерен сървър вместо легитимния ключ на целевия сървър.
CVE-2025-26465: Заобикаляне на проверката на SSH ключ
Първата от уязвимостите, които бяха коригирани в изданието на тази коригираща версия, е CVE-2025-26465. Тази уязвимост се дължи на логическа грешка в помощната програма ssh, което позволява на атакуващ да заобиколи проверката на сървърния ключ и успешно да изпълни MITM атака.
Когато клиент се опита да се свърже към SSH сървър, Нападателят може да пренасочи трафика към фалшив сървър и кара клиента да приеме неправилния ключ без предупреждение, вярвайки, че е свързан към легитимния сървър.
В допълнение към това, тази уязвимост:
- Той присъства в OpenSSH от версия 6.8p1 (декември 2014 г.).
- Задейства се, когато опцията VerifyHostKeyDNS е активирана.
- В основната конфигурация на OpenSSH тази опция е деактивирана по подразбиране, но във FreeBSD беше активирана до март 2023 г.
Колкото до причините които причиняват този провал, се споменава, че Това е така, защото функцията verify_host_key_callback() извиква verify_host_key(), но проверява само дали върнатият код за грешка е -1, като игнорира други кодове за грешка като -2. Кога verify_host_key() връща -2, когато няма достатъчно памет, но поради пропускането на кода за грешка, Системата погрешно приема, че ключът на хоста е проверен правилно.
По този начин атакуващият може да използва този пропуск, като създаде фалшив SSH сървър, който изпраща голям хост ключ (256 KB), причинявайки прекомерно потребление на памет на клиента и задействайки състоянието на необработена грешка.
CVE-2025-26466: Изтичане на памет и прекомерно потребление на процесора в SSH
Втората уязвимост, която беше коригирана, е CVE-2025-26466 и тази уязвимост засяга както ssh клиент, така и sshd сървър, като позволява изчерпване на паметта на процеса и генерира високо натоварване на процесора чрез многократно изпращане на пакети SSH2_MSG_PING.
Голямото въздействие на тази уязвимост се крие във факта, че Може да се използва без удостоверяване и засяга OpenSSH от версия 9.5p1 (август 2023 г.). В допълнение, той позволява на атакуващ да консумира системни ресурси, влошавайки производителността и дори причинявайки отказ на услуга (DoS).
По отношение на причините, които причиняват този неуспех, се споменава, че той се дължи на факта, че Всеки входящ 2-байтов SSH16_MSG_PING пакет причинява заделянето на 256-байтов буфер в паметта. Този буфер не се освобождава, докато не приключи съгласуването на ключа, което води до изтичане на памет, когато се изпращат множество PING пакети.
Смекчаване и решение
Като заобиколно решение, Препоръчва се да се поставят ограничения в sshd_config, използвайки следните директиви:
- Градинно време за влизане: Това ограничава времето за изчакване за удостоверяване.
- MaxStartups: ограничава броя на неавтентифицираните връзки.
- PerSourcePenalties: налага санкции към клиенти, които генерират множество опити за свързване.
А що се отнася до решения, Първият и най-препоръчителен е надстройте OpenSSH до издадената версия, „9.9p2“ възможно най-скоро, за да коригирате тези уязвимости. Но ако незабавното надграждане не е осъществимо, трябва да се приложат мерките за смекчаване, споменати по-горе. Освен това се препоръчва да деактивирате VerifyHostKeyDNS, освен ако не се използват надеждни механизми за проверка на DNSSEC.
Ако сте се интересувам да научим повече за това, можете да проверите подробностите в следната връзка.
Как да инсталирам OpenSSH на Linux?
За тези, които се интересуват от възможността да инсталират тази нова версия на OpenSSH на своите системи, засега те могат да го направят изтегляне на изходния код на това и извършване на компилацията на техните компютри.
Това е така, защото новата версия все още не е включена в хранилищата на основните дистрибуции на Linux. За да получите изходния код, можете да направите от следната връзка.
Извършено изтегляне, сега ще разархивираме пакета със следната команда:
tar -xvf openssh-9.9p2.tar.gz
Въвеждаме създадената директория:
cd openssh-9.9p2
Y можем да компилираме с следните команди:
./configure --prefix = / opt --sysconfdir = / etc / ssh make make install