OpenSSH 10.5

11 августа состоялся выпуск OpenSSH 10.5, свободной реализации протокола SSH 2.0, включающей клиент и сервер SSH, средства SFTP, перенаправления портов, управления ключами и аутентификации. Новый выпуск последовал примерно через пять недель после OpenSSH 10.4 и преимущественно посвящён исправлению проблем безопасности и ошибок.
Разработчики отдельно объяснили необычно короткий интервал между выпусками ростом количества поступающих сообщений об уязвимостях, многие из которых обнаружены моделями искусственного интеллекта или при помощи ИИ. Значительная часть таких отчётов после анализа не представляет практической угрозы, однако команда OpenSSH отметила случаи, когда найденная ИИ проблема позднее независимо обнаруживалась другим исследователем. По мнению разработчиков, это указывает на возможность использования подобных средств злоумышленниками, которые не станут сообщать проектам СПО о найденных ошибках. В связи с этим команда намерена пока выпускать исправления чаще, не накапливая их до следующего планового релиза.
Основные изменения OpenSSH 10.5:
-
Исправлена проблема в
ssh-agent, связанная с блокировкой агента и расширениемsession-bind@openssh.com, используемым для идентификации перенаправленных агентов. Запросы привязки отклонялись заблокированным агентом, из-за чего некоторые операции, которые предполагалось разрешать только локально, могли выполняться удалённо. В частности, это позволяло добавлять токены PKCS#11 и использовать ключи с ограничениями по месту назначения. Об ошибке сообщил исследователь sn0x-sharma. -
В клиенте
sshустранён потенциальный use-after-free, возникавший при перераспределении памяти, если удалённое перенаправление порта добавлялось через локальный сокет мультиплексирования в момент, когда предыдущий запрос на такое перенаправление ещё ожидал ответа сервера. Сообщение об ошибке и исправление предоставил Brian Mingus из Cognatory. -
В
sshdисправлена обработкаrestrictизauthorized_keys. Теперь ограничение распространяется и на туннельное перенаправление. Само туннелирование такого типа по умолчанию административно запрещено. Проблему обнаружил Erichen из Institute of Computing Technology Китайской академии наук. -
Расширены возможности работы с аппаратными FIDO-ключами.
ssh-keygenтеперь позволяет устанавливать и снимать флагиtouch-requiredиverify-requiredу закрытых FIDO-ключей при смене парольной фразы. Кроме того, изменён порядок перебора сертификатов при аутентификации: сначала пробуются FIDO-ключи, не требующие физического подтверждения присутствия пользователя, а ключи с обязательной проверкой через PIN-код или биометрию оставляются напоследок. -
В клиент добавлен режим
ssh -Z user@host, выводящий список ключей, которые будут опробованы при аутентификации с открытым ключом, причём именно в фактическом порядке их использования. Это может упростить диагностику конфигураций с большим количеством ключей, сертификатов и SSH-агентов. -
Для
sshd-sessionдобавлено использованиеsetproctitle(), благодаря чему процесс, выполняющий роль монитора после успешной аутентификации, проще определить в списке процессов. -
ssh-keyscanпереведён на неблокирующее чтение приветствия сервера, чтобы зависший сервер не останавливал сканирование остальных хостов. Также исправлены имена параметров GSSAPI, повреждённые при рефакторинге OpenSSH 10.4, и восстановлено применениеChannelTimeoutиRekeyLimitвнутри секцийMatch. -
Проверка допустимости типа открытого ключа в
sshdперенесена на этап до разбора присланного клиентом ключа. По словам разработчиков, это сокращает доступную до аутентификации поверхность атаки, исключая часть путей разбора и проверки ключей. Предложение внёс Christopher Paul Rohlf из Anthropic. -
В
ssh-keygenисправлены случаи двойного освобождения памяти, которые, по оценке разработчиков, недостижимы за пределами тестового окружения. -
Изменены требования Portable OpenSSH к криптографической библиотеке. Теперь сборка требует поддержки эллиптической криптографии в libcrypto, включая кривую NIST P-521. Разработчики отмечают, что необходимая функциональность уже включена в стандартные конфигурации LibreSSL, OpenSSL, BoringSSL и AWS-LC, поэтому для обычных Linux-дистрибутивов изменение проблем вызвать не должно. Сборки с
--without-opensslэто требование не затрагивает.
Одновременно с OpenSSH 10.5 подготовлена переносимая версия OpenSSH 10.5p1 для Linux и других Unix-подобных систем. Архив openssh-10.5p1.tar.gz опубликован на зеркалах OpenBSD; контрольные суммы приведены в официальном сообщении о выпуске.
>>> Источник
