Juniper Networks обновила справочный бюллетень JSA80837 о влиянии OpenSSH-уязвимостей на Junos OS и Junos OS Evolved. После разбора длинного списка CVE реально затронутым оказался один выпуск, Junos OS Evolved 24.2R1 и 24.2R1-S1, и одна уязвимость - regreSSHion (CVE-2024-6387). Она позволяет неаутентифицированному удалённому атакующему выполнить код на устройстве, исправление вышло в 24.2R1-S2. Всем, у кого стоит 24.2R1 или 24.2R1-S1, обновляться нужно без отлагательств, остальным достаточно подтвердить версию и настройки SSH.
Что действительно требует обновления
Картина по бюллетеню получилась неровной. Внешние алерты по OpenSSH перечисляют десятки идентификаторов, и администратору легко решить, что под ударом вся линейка Junos. Juniper проверила каждый пункт отдельно и большую часть отнесла к Not Impacted или Not Impacted via Workaround: уязвимый код не входит в поставку, нужные функции выключены по умолчанию либо недоступны через CLI.
Единственное исключение - Junos OS Evolved 24.2R1 и 24.2R1-S1. Более поздние выпуски EVO либо содержат патч, либо не используют уязвимую версию OpenSSH. Junos OS в затронутый диапазон не попадает.
Что позволяет regreSSHion
CVE-2024-6387 - регрессия в серверной части OpenSSH, sshd. Ошибка относится к классу CWE-364, гонка в обработчике сигналов: при определённом стечении обстоятельств sshd обрабатывает сигнал небезопасным способом. Атакующему достаточно по сети инициировать подключение и не пройти аутентификацию в отведённое время, чтобы попасть в уязвимое окно. Учётные данные, права и действие пользователя не нужны.
Оценка в бюллетене Juniper - 8.1 по CVSS v3.1, что совпадает с оценкой CNA. Вектор сетевой, сложность высокая, влияние на конфиденциальность, целостность и доступность высокое. Высокая сложность здесь означает не мягкость проблемы, а требование к условиям: гонку нужно поймать. На практике такие окна воспроизводятся перебором попыток, а не одним запросом, поэтому открытый в интернет SSH на затронутом выпуске - плохая идея.
Помимо выполнения кода, ошибка приводит и к отказу в обслуживании: неудачная попытка эксплуатации роняет sshd. Для сетевого оборудования это означает потерю управления и обрыв сессий.
Затронутые версии самого OpenSSH в записи CVE - с 8.5p1 по 9.7p1 включительно. Juniper не раскрывает, какая именно сборка используется в 24.2R1, но относит выпуск к уязвимым, а 24.2R1-S2 - к исправленным.
Почему остальные CVE не применимы
Две уязвимости из списка заслуживают отдельного пояснения, потому что их часто смешивают с regreSSHion.
CVE-2025-26466 приводит к исчерпанию памяти. На каждый ping-пакет сервер выделяет pong-пакет и держит его в очереди до завершения обмена ключами, поэтому поток таких пакетов постепенно съедает память и в итоге делает сервис недоступным. Оценка 5.9 по CVSS v3.1, класс CWE-770, затронут OpenSSH с 9.5p1 по 9.9p1. В Junos действует ограничение в 128 pre-authentication пакетов по умолчанию, поэтому Juniper относит проблему к Not Impacted via Workaround. Ключевое слово - workaround: защита держится на значении параметра max-pre-authentication-packets.
CVE-2025-26465 - атака «человек посередине» при включённой проверке ключа хоста через DNS. Ошибка в обработке кодов возврата, класс CWE-390, оценка 6.8, затронут OpenSSH с 6.8p1 по 9.9p1. Для успеха атакующему нужно сначала исчерпать память клиента, поэтому сложность высокая, а участие пользователя требуется. В Junos параметр VerifyHostKeyDNS выключен, отсюда статус Not Impacted.Часть сценариев требует клиента SFTP или SCP, который сам подключается к вредоносному серверу, а такой режим в Junos не поддерживается.
Затронутые версии и исправление
Проверять нужно одно: какая версия Junos OS Evolved работает на устройстве. Если это 24.2R1 или 24.2R1-S1, целевая версия для обновления - 24.2R1-S2 или более поздняя. Для Junos OS и остальных выпусков EVO достаточно убедиться, что версия не входит в затронутый диапазон.
Отдельно стоит пройтись по инвентарю управляющих плоскостей. Проблема касается именно сервиса SSH на самом устройстве, а не транзитного трафика. Значит, в первую очередь важны шасси и экземпляры, у которых SSH открыт во внешние сегменты или в сеть управления.
Если обновиться нельзя
Универсальный обход для regreSSHion - отключение таймаута ожидания аутентификации, то есть установка LoginGraceTime в 0. Это убирает окно, в котором срабатывает гонка, и закрывает путь к выполнению кода. Однако сервер остаётся уязвимым к отказу в обслуживании: атакующий может исчерпать все соединения, если таймаут не срабатывает. Такой режим имеет смысл только вместе с фильтрацией и мониторингом подключений.
Есть и организационная деталь. Если параметр правили на уровне операционной системы, после установки пакета он не вернётся к прежнему значению автоматически. Отключённый таймаут легко забыть, а он влияет на поведение sshd в целом, поэтому вместе с патчем его нужно вернуть к рабочему значению.
Для CVE-2025-26466 обход строится из трёх настроек: ограничение одновременных неаутентифицированных подключений, штрафы для источника и разумный таймаут аутентификации. Применять их нужно вместе, по отдельности защита неполная.
Что проверить в настройках SSH
Проверка занимает минуты. Убедитесь, что проверка ключа хоста через DNS выключена. Убедитесь, что лимит pre-authentication пакетов не снят и не завышен: значение по умолчанию в 128 уже даёт защиту, а ручная правка «для удобства» её снимает.
Дальше - инвентаризация доступа. SSH на затронутом выпуске не должен быть доступен из недоверенных сетей. Это не заменяет патч, но снижает вероятность, что гонку вообще удастся запустить.
И последнее. Общий список CVE из внешнего алерта - плохой ориентир для приоритизации. Сверяйтесь с бюллетенем вендора: в этом случае из длинного перечня практическое значение имеет один идентификатор и один диапазон версий.