Команда OpenSSH объявила о выпуске версии 9.8, включающей клиент и сервер для работы по протоколам SSH 2.0 и SFTP. В релизе устранена критическая уязвимость, позволяющая удалённо выполнить код с правами root до прохождения аутентификации. Также исправлена еще одна менее значимая уязвимость и внесены важные изменения для повышения безопасности.
В новой версии исправлены две уязвимости:
- Критическая уязвимость CVE-2024-6387, позволяющая удалённо выполнить код с правами root до прохождения аутентификации. Атака требует в среднем 6-8 часов непрерывных соединений. Возможность эксплуатации на 64-битных системах пока не доказана, но разработчики предупреждают о вероятности улучшения методов атаки. Системы, не использующие glibc, также могут быть уязвимы.
- Уязвимость, которая связана с обходом защиты от атак по сторонним каналам, введенной в OpenSSH 9.5. Она позволяла различать пакеты, симулирующие нажатия клавиш, от реальных пакетов, что снижало эффективность маскировки интерактивного ввода. Анализ задержек между нажатиями клавиш мог использоваться для воссоздания вводимого текста, учитывая особенности расположения клавиш на клавиатуре (например, нажатие F происходит быстрее, чем Q или X).
Что касается других изменений, OpenSSH планирует полностью убрать поддержку алгоритма подписи DSA в начале 2025 года. В данной версии алгоритм DSA отключен по умолчанию при компиляции. DSA считается устаревшим и небезопасным из-за ограниченного размера ключа и использования хеш-функции SHA1. Разработчики надеются, что удаление поддержки DSA ускорит его более широкую депрекацию в криптографических библиотеках.
В новой версии отключена поддержка алгоритма DSA на этапе компиляции. Также сервер sshd теперь будет блокировать адреса клиентов, которые неоднократно неудачно пытаются пройти аутентификацию или вызывают сбои сервера, что должно затруднить атаки на учетные записи со слабыми паролями или попытки эксплуатации уязвимостей в sshd.
Сервер sshd был разделен на два двоичных файла: sshd для слушателя и sshd-session для каждой сессии, что уменьшает размер основного файла и улучшает безопасность. Также изменены некоторые сообщения журналов: теперь они будут помечены как исходящие от процесса “sshd-session” вместо “sshd”.
В версии 9.8 в основном исправлены ошибки. В частности, улучшена точность документации по протоколу, исправлены ошибки в обработке чисел, и устранены проблемы с совместимостью на различных системах.
Разработчики добавили поддержку уведомлений для systemd и улучшили обнаружение поддержки ключей ED25519 в OpenSSL. Теперь также можно включать SSH_ASKPASS при наличии переменной окружения WAYLAND_DISPLAY.
Команда OpenSSH продолжает работать над улучшением безопасности и функциональности проекта. Полный список изменений и исправлений доступен в официальных примечаниях к выпуску. Новая версия будет доступна для скачивания с зеркал, указанныхна официальном сайте OpenSSH.