Опубликован релиз OpenSSH 9.6, открытой реализации клиента и сервера для работы по протоколам SSH 2.0 и SFTP. В новой версии устранены три проблемы с безопасностью:
- Уязвимость в протоколе SSH (CVE-2023-48795, атака "Terrapin"), позволяющая в ходе MITM-атаки откатить соединение на использование менее защищённых алгоритмов аутентификации и отключить защиту от атак по сторонним каналам, воссоздающим ввод через анализ задержек между нажатиями клавиш на клавиатуре. Метод атаки изложен в отдельной новости.
- Уязвимость в утилите ssh, позволяющая осуществить подстановку произвольных shell-команд через манипуляцию со значениями логина и хоста, содержащими спецсимволы. Уязвимость может быть эксплуатирована, если атакующий контролирует значения логина и имени хоста, передаваемые в ssh, директивы ProxyCommand и LocalCommand или блоки "match exec", в которых указаны символы подстановки, такие как %u и %h. Например, некорректные логин и хост могут быть подставлены в системах, использующих субмодули в Git, так как Git не запрещает указание спецсимволов в имени хоста и пользователя. Похожая уязвимость также проявляется в libssh.
- Ошибка в ssh-agent, из-за которой при добавлении закрытых ключей PKCS#11, ограничения применялись только к первому ключу, возвращённому токеном PKCS#11. Проблема не касается обычных закрытых ключей, токенов FIDO и ключей, заданных без ограничений.
Остальные изменения:
- В ssh добавлена подстановка "%j", раскрываемая в имя хоста, указанное через директиву ProxyJump.
- В ssh добавлена поддержка настройки ChannelTimeout на стороне клиента, которая может быть использована для завершения неактивных каналов.
- В ssh, sshd, ssh-add и ssh-keygen добавлена поддержка чтения закрытых ключей ED25519 в формате PEM PKCS8 (ранее поддерживался только формат OpenSSH).
- В ssh и sshd добавлено расширение протокола для повторного согласования алгоритмов цифровой подписи для аутентификации по открытым ключам, осуществляемого на стадии после получения данных об имени пользователя. Например, при помощи расширения можно выборочно использовать другие алгоритмы в привязке к пользователям через указание PubkeyAcceptedAlgorithms в блоке "Match user".
- В ssh-add и ssh-agent добавлено расширение протокола для задания сертификатов при загрузке ключей PKCS#11, что позволяет использовать сертификаты, связанные с закрытыми ключами PKCS#11, во всех утилитах
OpenSSH, поддерживающих ssh-agent, а не только в ssh.
- Улучшено определение неподдерживаемых или нестабильных флагов компилятора, таких как "-fzero-call-used-regs" в clang.
- Для ограничения привилегий процесса sshd в версиях OpenSolaris, поддерживающих интерфейс getpflags(), задействован режим PRIV_XPOLICY вместо PRIV_LIMIT.
|