OpenSSH 9.9p2 устраняет две критические уязвимости MITM

OpenSSH предоставляет богатый набор возможностей безопасного туннелирования.

Несколько дней назад, Дэмиен Миллер (один из разработчиков OpenSSH), сделал это известным, через списки рассылки, OpenSSH 9.9p2 релиз поддержки что устраняет две критические уязвимости обнаруженная компанией Qualys уязвимость, которую можно использовать для проведения атак типа «человек посередине» (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 КБ), что приводит к чрезмерному потреблению памяти на клиенте и вызывает состояние необработанной ошибки.

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 с использованием следующих директив:

  • Время входа в систему: Это ограничивает время ожидания аутентификации.
  • Макс. Стартапы: ограничивает количество неаутентифицированных подключений.
  • Штрафы за источник: применяет штрафные санкции к клиентам, которые совершают несколько попыток подключения.

А что касается решения, Первый и наиболее рекомендуемый — обновить OpenSSH до выпущенной версии «9.9p2» как можно скорее устранить эти уязвимости. Однако если немедленная модернизация невозможна, следует применить меры по смягчению последствий, упомянутые выше. Кроме того, рекомендуется отключить VerifyHostKeyDNS, если не используются надежные механизмы проверки DNSSEC.

Если вы интересно узнать о нем больше, вы можете проверить детали в по следующей ссылке.

Как установить OpenSSH в Linux?

Для тех, кто заинтересован в возможности установить эту новую версию OpenSSH в своих системах, пока они могут это сделать скачивая исходный код этого и выполняя компиляцию на своих компьютерах.

Это связано с тем, что новая версия еще не включена в репозитории основных дистрибутивов Linux. Чтобы получить исходный код, вы можете сделать из следующая ссылка.

Готово, Теперь мы собираемся распаковать пакет с помощью следующей команды:

tar -xvf открывает sh-9.9p2.tar.gz

Входим в созданный каталог:

компакт-диск openssh-9.9p2

Y мы можем скомпилировать с следующие команды:

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