[ON] Выпуск OpenSSH 9.2 с устранением уязвимости, проявляющейся на этапе до аутентификации

Обсуждение новостей, соответствующих тематике форума

Модератор: Модераторы разделов

Ответить
Аватара пользователя
rssbot
Бот
Сообщения: 6002
ОС: gnu/linux

[ON] Выпуск OpenSSH 9.2 с устранением уязвимости, проявляющейся на этапе до аутентификации

Сообщение rssbot »

Опубликован релиз OpenSSH 9.2, открытой реализации клиента и сервера для работы по протоколам SSH 2.0 и SFTP. В новой версии устранена уязвимость, приводящая к двойному освобождению области памяти на стадии до прохождения аутентификации. Уязвимости подвержен только выпуск OpenSSH 9.1, в более ранних версиях проблема не проявляется.



Для создания условий проявления уязвимости достаточно изменить баннер SSH-клиента на "SSH-2.0-FuTTYSH_9.1p1" для того, чтобы добиться выставления флагов "SSH_BUG_CURVE25519PAD" и "SSH_OLD_DHGEX", зависящих от версии SSH-клиента. После выставления данных флагов память под буфер "options.kex_algorithms" освобождается два раза - при выполнении функции do_ssh2_kex(), вызывающей compat_kex_proposal(), и при выполнении функции do_authentication2(), вызывающей по цепочке input_userauth_request(), mm_getpwnamallow(), copy_set_server_options(), assemble_algorithms() и kex_assemble_names().


Создание рабочего эксплоита для уязвимости считается маловероятным, так как процесс эксплуатации слишком усложнён - современные библиотеки распределения памяти предоставляют защиту от двойного освобождения памяти, а процесс pre-auth, в котором присутствует ошибка, выполняется с пониженными привилегиями в изолированном sandbox-окружении.


Кроме отмеченной уязвимости в новом выпуске также устранены ещё две проблемы с безопасностью:
  • Ошибка при обработке настройки "PermitRemoteOpen", приводящая к игнорированию первого аргумента, если он отличается от значений "any" и "none". Проблема проявляется в версиях новее OpenSSH 8.7 и приводит к пропуску проверки при указании только одного полномочия.
  • Атакующий, контролирующий DNS-сервер, используемый для определения имён, может добиться подстановки спецсимволов (например, "*") в файлы known_hosts, если в конфигурации включены опции CanonicalizeHostname и CanonicalizePermittedCNAMEs, и системный резолвер не проверяет корректность ответов от DNS-сервера. Проведение атаки рассматривается как маловероятное, так как возвращаемые имена должны соответствовать
    условиям, заданным через CanonicalizePermittedCNAMEs.

Другие изменения:
  • В ssh_config для ssh добавлена настройка EnableEscapeCommandline,
    управляющая включением обработки на стороне клиента escape-последовательности "~C", предоставляющей командную строку. По умолчанию обработка "~C" теперь отключена для использования более жёсткой sandbox-изоляции, что потенциально может привести к нарушению работы систем, в которых "~C" используется для перенаправления портов во время работы.
  • В sshd_config для sshd добавлена директива ChannelTimeout для задания таймаута неактивности канала (каналы, в которых за указанное в директиве время не зафиксирован трафик, будут автоматически закрыты). Для сеанса, X11, агента и перенаправления трафика могут быть заданы разные таймауты.
  • В sshd_config для sshd добавлена директива UnusedConnectionTimeout, позволяющая задать таймаут для завершения клиентских соединений, находящихся определённое время без активных каналов.
  • В sshd добавлена опция "-V" для вывода версии по аналогии с подобной опцией в клиенте ssh.
  • В вывод "ssh -G" добавлена строка "Host", отражающая значение аргумента с именем хоста.
  • В scp и sftp добавлена опция "-X" для управления такими параметрами протокола SFTP, как размер буфера копирования и число ожидающих завершения запросов.
  • В ssh-keyscan разрешено сканирование полных CIDR-диапазонов адресов, например, "ssh-keyscan 192.168.0.0/24".


Источник: https://www.opennet.ru/opennews/art.shtml?num=58598
(opennet.ru, основная лента)
Спасибо сказали:
Ответить