Выпуски libssh2 1.8.1 и Putty 0.71 с устранением уязвимостей

Доступен новый выпуск SSH-клиента PuTTY 0.71, в котором устранены восемь уязвимостей, выявленных участниками инициативы FOSSA (Free and Open Source Software Audit), выплачивающей вознаграждение за обнаружение уязвимостей в ключевых открытых проектах, применяемых в госучреждениях Евросоюза. Одна уязвимость позволяет обойти проверку цифровой подписи DSA. Две уязвимости позволяют вызвать переполнение буфера и потенциально выполнить код при подключении к серверу.

  • Первая уязвимость позволяет организатору MITM-атаки обойти проверку DSA и получить доступ сеансу пользователя (просматривать и вносить изменения в сеансы), в случае использования ключей в формате DSA («ssh-dss»). Уязвимость возникла в процессе переработки криптографического стека, но к счастью присутствовала только в экспериментальной ветке Putty и была выявлена до публикации релиза.
  • Вторая уязвимость выявлена в реализации протокола обмена ключами RSA и может привести к целочисленному переполнению при первом обращении к серверу, к которому ранее не выполнялись подключения. Проблема проявляется на стадии до верификации, т.е. система может быть атакована через проведение MITM-атаки без непосредственной компрометации сервера. При этом атака возможна только для серверов, ключ хоста которых ещё не аутентифицирован;
  • Третья проблема проявляется после установки соединения и инициируется через создание сервером слишком большого числа перенаправлений портов.
  • Четвёртая уязвимость специфична для Windows и проявляется при размещении файла putty.chm атакующего в каталоге, в котором запускается PuTTY (при обработке подставного файла с помощью возможно выполнение кода через манипуляции с тегом OBJECT).
  • Серия уязвимостей позволяющих вызвать отказ в обслуживании (крах PuTTY или потребление значительных ресурсов памяти и CPU) или исказить вывод при запуске на сервере в рамках установленного сеанса приложений, выводящих определённые последовательности в терминал.

В новом выпуске PuTTY также предпринято несколько мер по повышению безопасности:

  • Код, связанный с криптографией, переписан для защиты от атак по сторонним каналам;
  • Для блокирования подставных фиктивных запросов паролей визуально разделены запросы аутентификации PuTTY и вывод в терминале сообщений сервера;
  • Для защиты от атак через подстановку спецсимволов реализована чистка управляющих символов при копировании данных через буфер обмена, вывода в терминал и обработке имён файлов.

Из не связанных с безопасностью изменений можно отметить:

  • Добавлена поддержка запуска интерфейса PuTTY с использованием GTK поверх протокола Wayland;
  • Улучшена работа на экранах high-DPI;
  • Добавлены реализации AES, SHA-256 и SHA-1, использующие предоставляемые процессорами ARM и X86 инструкции для аппаратного ускорения криптографических операций.
  • Добавлена поддержка полноцветного вывода (True Color) в терминалах с использованием управляющих последовательностей SGR 2.
  • Приглашения аутентификации теперь могут содержать символы, не ограниченные колировкой US-ASCII.
  • Добавлена поддержка аутентификации в Kerberos через GSSAPI.
  • Улучшена работа с буфером обмена, в том числе появилась опция для и автоматического помещения текста в буфер обмена сразу после его выделения и возможность работы с несколькими буферами обмена.
  • Добавлены новые горячие клавиши Ctrl+Shift+PgUp и Ctrl+Shift+PgDn для перехода к верхней и нижней частям истории прокрутки.

Также состоялся новый выпуск библиотеки libssh2 1.8.1, предлагающей реализацию протокола SSH2 для интеграции функций SSH-клиента в произвольные приложения, в котором устранено 9 уязвимостей. Четыре проблемы позволяют организовать запись за пределы выделенного буфера и потенциально выполнить код злоумышленника в контексте клиентского приложения при обработке специально оформленных данных, поступающих при подключении к серверу, подконтрольному атакующему.

© OpenNet