Вышла стабильная версия OpenSSH 10.1 с крупными обновлениями безопасности и производительности.
Разработчики OpenSSH объявили о выходе стабильной версии OpenSSH 10.1. Архивы сборки в ближайшее время появятся на официальных зеркалах проекта. Новый релиз включает исправления безопасности, переработку механизмов приоритизации сетевого трафика и предупреждения о слабых криптографических алгоритмах.
OpenSSH — это полноценная реализация протокола SSH 2.0 с поддержкой клиента и сервера SFTP. Команда проекта поблагодарила сообщество за участие в разработке, тестировании и пожертвования, подробнее о которых можно узнать на странице поддержки.
Главное изменение — появление предупреждения при использовании алгоритмов обмена ключами, не устойчивых к квантовым атакам. Теперь клиент ssh сообщает, если соединение не использует постквантовый метод шифрования. Управлять поведением можно через новую опцию WarnWeakCrypto в ssh_config. Обоснование этого решения приводится в отдельной публикации «Post-Quantum Cryptography in OpenSSH».
Ещё одно крупное обновление затронуло обработку DSCP/IPQoS — механизмов приоритизации пакетов. Теперь интерактивный трафик получает класс EF (Expedited Forwarding) по умолчанию, что улучшает работу в сетях с ограниченной пропускной способностью, например, по Wi-Fi. Старые параметры lowdelay, throughput и reliability больше не поддерживаются, поскольку архитектура ToS устарела.
В числе потенциально несовместимых изменений — перенос сокетов ssh-agent из /tmp в каталог ~/.ssh/agent. Это усиливает изоляцию и предотвращает несанкционированное использование ключей процессами с ограничённым доступом к файловой системе. Агент также получил новые флаги -U, -u, -uu и -T, управляющие очисткой устаревших сокетов.
Разработчики удалили экспериментальную поддержку XMSS-ключей и добавили опцию ssh-add -N, отключающую автоматическое удаление сертификатов после окончания срока действия. В будущем ожидается внедрение новой постквантовой схемы подписи.
Ключевое исправление безопасности связано с обработкой имён пользователей и URI в командной строке ssh(1). Теперь запрещены управляющие символы и нулевые байты \0, которые могли использоваться для внедрения выражений оболочки в связке с параметром %u. Проблему обнаружил исследователь Дэвид Лидбитер.
Среди новых возможностей — ведение журналов по сигналу SIGINFO, расширенные сообщения об отказе сертификатов в sshd(8), поддержка ключей Ed25519 на PKCS#11-токенах и директива RefuseConnection, позволяющая прерывать подключение с пояснением прямо из конфигурации.
Исправлены десятки ошибок: от задержек при включённой опции ObscureKeystrokeTiming до утечек памяти и некорректного поведения MaxStartups. Размер поддерживаемого конфигурационного файла увеличен до 4 МБ.
В разделе портирования добавлены улучшения для FreeBSD, macOS и Android. Например, теперь sshd корректно обрабатывает futex_time64 в песочнице seccomp и проверяет наличие функции nlist перед использованием. Также представлен новый инструмент gnome-ssh-askpass4 для сред GNOME 40+ с API GCR.