CVE-2025-26465
CVE-2025-26465: MITM-атака на SSH-клиенты с VerifyHostKeyDNS
Проверьте OpenSSH-клиенты 6.8p1–9.9p1, если включён VerifyHostKeyDNS: при специальных условиях с исчерпанием памяти активный посредник может выдать себя за SSH-сервер. Исправление upstream — OpenSSH 9.9p2; в пакетах ОС учитывайте backport.
Кому нужно проверить
Администраторам рабочих станций и серверов, владельцам SSH-клиентов и командам, использующим DNS SSHFP через VerifyHostKeyDNS. Важна не только марка продукта, но и конкретная версия, способ установки, операционная система и конфигурация.
В чём риск
При выполнении условий активный атакующий на сетевом пути может обойти проверку ключа узла и имитировать целевой SSH-сервер. Это может подвергнуть SSH-сеанс перехвату; сама ошибка не означает автоматическое выполнение кода на клиенте. Не отключайте обычную проверку ключей known_hosts.
Затронутые версии
По advisory OpenSSH затронут ssh(1) в версиях 6.8p1–9.9p1 включительно. Эксплуатация требует включённого VerifyHostKeyDNS (по умолчанию upstream выключен) и особых условий, позволяющих атакующему вызвать нехватку памяти на клиенте; Qualys также отмечает, что некоторые downstream-системы включали эту настройку по умолчанию.
Исправленные версии
Исправлено в upstream OpenSSH 9.9p2. Обновите пакет из поддерживаемого репозитория ОС и сверьте именно advisory дистрибутива: исправление может быть перенесено (backport) без изменения основной версии OpenSSH. Если VerifyHostKeyDNS не нужен, временно отключите его в конфигурации клиента.
Что сделать
- 1Определите версии ssh-клиентов и проверьте эффективную настройку VerifyHostKeyDNS в пользовательских и системных ssh_config; учитывайте параметры командной строки и правила Host.
- 2Установите исправление 9.9p2 или более позднее либо пакет дистрибутива, который его включает. При старой версии upstream проверьте advisory поставщика: номера пакетов и backport важнее одного номера версии клиента.
- 3Если проверка SSHFP через DNS не требуется, задайте VerifyHostKeyDNS no для соответствующих хостов или в политике клиента. Это временное снижение риска, а не замена обновлению; если функция нужна, оставьте её включённой только на исправленных клиентах.
- 4После обновления перепроверьте эффективную конфигурацию и штатную проверку ключа хоста. Не удаляйте запись known_hosts и не принимайте новый ключ только ради устранения предупреждения о несовпадении.
- 5Если есть признаки MITM или неожиданного изменения ключа сервера, остановите подключение, подтвердите fingerprint по независимому доверенному каналу и проверьте журналы и возможное раскрытие учётных данных.
Условия риска и порядок проверки
Статичная схема условий эксплуатации и безопасной последовательности действий; шаги доступны также как обычный упорядоченный список.
- 1Клиент работает на затронутой версии OpenSSH
- 2VerifyHostKeyDNS включён для данного подключения
- 3Атакующий на сетевом пути создаёт условия нехватки памяти
- 4До обновления временно отключите DNS-проверку, если она не нужна
- 5Установите исправленный пакет и подтвердите ключ сервера независимо
Примеры конфигурации и проверки
Host host-pattern
VerifyHostKeyDNS noПример для ssh_config: замените host-pattern на шаблон нужного узла и поместите директиву в применимый блок Host, учитывая порядок настроек и первое заданное значение параметра. Используйте только если проверка SSHFP через DNS не нужна. Не отключает и не заменяет проверку ключей known_hosts. Удалите временную настройку после установки исправленной сборки, если DNS-проверка нужна вашей политике.
Как не подпустить ботов к сайту
BotProtection принимает запросы перед вашим сайтом и фильтрует автоматизированные обращения. Поэтому ботам сложнее добраться до уязвимого компонента и начать его проверять или атаковать, а вероятность успешной автоматизированной атаки становится значительно ниже. Это дополнительный слой защиты: обновление уязвимых компонентов, проверка журналов и реагирование на инциденты остаются обязательными.
Первоисточники
Снизьте шанс атаки до того, как бот дойдёт до сайта
Подключите BotProtection как фильтр перед сайтом: подозрительные автоматизированные запросы отсекаются до обращения к вашему серверу. Это значительно снижает вероятность автоматизированной атаки, но не исправляет саму уязвимость, поэтому обновление и настройка компонентов остаются обязательными.