OpenSSH: критическая уязвимость позволяет удалённо выполнить код
Что случилось
В OpenSSH выявлена регрессия безопасности — старая проблема CVE-2006-5051 вернулась в новом обличье CVE-2024-6387. При определённых условиях возникает состояние гонки (race condition): если клиент не успевает пройти аутентификацию в заданный срок, sshd обрабатывает сигналы некорректно.
Уязвимость теоретически позволяет удалённому атакующему без учётных данных добиться выполнения кода с правами root. Однако эксплуатация требует значительных ресурсов из-за непредсказуемости гонки и защитных механизмов современных систем (ASLR/NX). Red Hat оценивает риск как «Important» с возможностью понижения до DoS при применении митигаций.
Проблема затрагивает стандартную конфигурацию: порт 22, аутентификация по паролю или ключу — всё это под ударом.
Кого касается
- Серверы с OpenSSH, где sshd использует glibc (большинство Linux-дистрибутивов).
- RHEL 9 — единственная затронутая версия Red Hat (RHEL 6–8 используют старую версию OpenSSH без уязвимости).
- OpenShift Container Platform 4.13–4.16 (на базе RHCOS).
- VPS с публичным IP и открытым 22-м портом — в приоритетной зоне риска.
Что делать
1. Обновите пакет
Это единственное надёжное решение. Проверьте наличие исправлений в репозиториях вашего дистрибутива:
- Ubuntu/Debian:
sudo apt update && sudo apt upgrade openssh-server - RHEL/CentOS/Rocky:
sudo dnf update openssh-server
Проверьте версию после обновления (ssh -V) — убедитесь, что установлена пропатченная сборка от дистрибутива.
2. Обходной путь, если обновление невозможно
Установите в /etc/ssh/sshd_config:
LoginGraceTime 0
Это отключает таймаут аутентификации и устраняет условия для гонки. Перезапустите sshd: sudo systemctl restart sshd. Учтите: при этом sshd остаётся уязвим к DoS-атакам с исчерпанием соединений, а зависшие соединения не будут прерываться автоматически.
3. Мониторинг
Проверьте логи на аномалии: множественные неудачные попытки входа с короткими интервалами могут быть попытками эксплуатации. Рассмотрите временное ограничение доступа по IP через firewall или VPN-туннель.
Не откладывайте: уязвимость позволяет потенциальный полный компромисс сервера.