OpenSSH: критическая уязвимость use-after-free при смене хост-ключа
Что случилось
В популярной реализации SSH выявлена уязвимость класса use-after-free. Она проявляется в момент, когда сервер меняет свой хост-ключ в процессе пересогласования ключей (key re-exchange). При таком сценарии память, связанная со старым ключом, освобождается преждевременно, но продолжает использоваться — это открывает возможность для сбоев или повреждения памяти на стороне клиента.
Уязвимость получила идентификатор CVE-2026-60002. Важный нюанс: эксплуатация возможна только со стороны клиента, то есть атакующему нужно заставить пользователя подключиться к подконтрольному серверу, который инициирует смену ключа в неподходящий момент.
Кого касается
Проблема актуальна для всех, кто использует OpenSSH клиентской версии 10.3 и ниже. Это включает:
- владельцев VPS, подключающихся к своим серверам по SSH с рабочих станций;
- системных администраторов, использующих автоматизированные скрипты с SSH-клиентами;
- пользователей CI/CD-конвейеров, где происходят частые SSH-подключения.
Серверная часть OpenSSH уязвима косвенно: скомпрометированный или злонамеренный сервер может атаковать подключающихся клиентов. Если ваш VPS принимает SSH-подключения, вы отвечаете за безопасность тех, кто к вам подключается.
Что делать
1. Обновите пакет
Проверьте текущую версию:
ssh -V
Если вывод показывает версию 10.3 или ниже, обновитесь через пакетный менеджер:
- Debian/Ubuntu:
sudo apt update && sudo apt upgrade openssh-client - RHEL/CentOS/Rocky:
sudo dnf update openssh-clients
2. Проверьте версию после обновления
Повторно выполните ssh -V — должно отобразиться OpenSSH_10.4 или выше.
3. Обходной путь, если обновление невозможно
Отключите пересогласование ключей в клиентской конфигурации. Добавьте в ~/.ssh/config:
Host *
RekeyLimit default noneИли используйте флаг при подключении: -o RekeyLimit=default:none. Это предотвращает инициацию re-exchange, но может снизить защиту от атак на длительные сессии — применяйте временно.
4. Для владельцев серверов
Убедитесь, что ваш VPS не инициирует принудительную смену хост-ключа без необходимости. Проверьте настройки RekeyLimit в sshd_config и придерживайтесь консервативных значений.