Site categories All
#sftp
Опубликован релиз 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-окружении.
Представлен релиз OpenSSH 9.0, открытой реализации клиента и сервера для работы по протоколам SSH 2.0 и SFTP. В новой версии утилита scp переведена по умолчанию на использование SFTP вместо устаревшего протокола SCP/RCP.

В SFTP применяются более предсказуемые методы обработки имён и не используется обработка glob-шаблонов в именах файлов через shell на стороне другого хоста, создающая проблемы с безопасностью. В частности, при применении SCP и RCP сервер принимает решение о том, какие файлы и каталоги отправить клиенту, а клиент лишь проверяет корректность возвращённых имён объектов, что в случае отсутствие должных проверок на стороне клиента позволяет серверу передать другие имена файлов, отличающиеся от запрошенных.
После четырёх месяцев разработки представлен релиз OpenSSH 8.4, открытой реализации клиента и сервера для работы по протоколам SSH 2.0 и SFTP.