Они обнаружили уязвимость в OpenSSH, которую можно использовать удаленно

уязвимость

При эксплуатации эти недостатки могут позволить злоумышленникам получить несанкционированный доступ к конфиденциальной информации или вообще вызвать проблемы.

Была обнародована информация о уязвимость, обнаруженная в реализация OpenSSH SSH-агент что позволяет коду работать в системе, которая предоставила ssh-агенту доступ к хосту на другом конце ssh-соединения.

Уязвимость, уже занесенная в каталог под CVE-2023-38408, это примечательно тем, что его можно использовать удаленно. Атака возможно только в том случае, если пользователь подключился по ssh к системе, контролируемой злоумышленником включив переадресацию сокетов на ssh-agent через ssh с помощью параметра «-A» или параметра ForwardAgent в файле конфигурации.

Процесс ssh-agent, используемый для кэширования закрытых ключей для аутентификации с открытым ключом, поддерживает необязательный режим переадресации, который позволяет удаленной стороне ssh-соединения получить доступ к ssh-agent в локальной системе, чтобы не хранить данные аутентификации на других хостах.

Уязвимость связано с наличием в ssh-агенте поддержки загрузки модулей PKCS#11, который можно запустить, в том числе, через unix-сокет, проброшенный в другую систему на ssh-agent.

Эта особенность позволяет злоумышленнику, который контролирует хост к которому он подключен немедленно загружать и выгружать любые разделяемые библиотеки из каталогов /usr/lib* в локальной системе жертвы в отдельном процессе ssh-pkcs11-helper. Эта функция появляется в ssh-agent, скомпилированном с опцией ENABLE_PKCS11, которая включена по умолчанию.

Изначально возможность загрузки разделяемых библиотек не считалась угрозой в целях безопасности, так как загрузка возможна только из системных каталогов /usr/lib*, которые содержат библиотеки, официально предоставленные дистрибутивом, и операции с этими библиотеками ограничиваются вызовом функций dlopen() и dlclose(), без вызова функций библиотеки.

Тем не менее, упустил из виду, что некоторые библиотеки имеют функции конструктора и разрушителя которые вызываются автоматически при выполнении операций dlopen() и dlclose(). Этого может хватить, чтобы подобрать нужные библиотеки и организовать удаленное выполнение кода.

Способность к атаке проявляется в среда по умолчанию Ubuntu, так как не тестировался в других дистрибутивах, который также устанавливает три пакета из репозитория "universe" (хотя предполагается, что в некоторых дистрибутивах возможна атака в дефолтной конфигурации).

Было предложено 8 вариантов атаки.

Например, один из перспективных вариантов создания рабочего эксплойта основан на том, что библиотека libgnatcoll_postgres.so при выполнении dlopen() регистрирует отдельный стек сигналов, используемый в обработчиках сигналов, путем вызова функции sigaltstack(), а после вызова dlclose() выделяет память, но не отключает ведение журнала стека сигналов (SS_DISABLE).

Чтобы воспользоваться уязвимостью, выполняются следующие манипуляции:

  • Различные библиотеки загружаются для изменения макета mmap.
  • Загружается библиотека libgnatcoll_postgres.so, регистрируется альтернативный стек сигналов и выполняется munmap().
  • Библиотеки загружаются для изменения макета mmap и замены отдельного стека сигналов другой областью памяти режима записи (например, стеком потоков или сегментами .data/.bss).
  • Загружает библиотеку, которая регистрирует обработчик сигнала SA_ONSTACK, но не регистрирует его с помощью munmap() при вызове dlclose().
  • Библиотека, которая получает сигнал и вызывает обработчик сигнала SA_ONSTACK, загружается, в результате чего замененная область памяти перезаписывается кадрами стека из обработчика сигнала.
  • Библиотеки загружаются специально для перезаписи содержимого замененной области памяти.

Что касается уязвимости, стоит упомянуть, что это исправлено в версии OpenSSH 9.3p2 недавно опубликовано. В новой версии запросы на загрузку модулей PKCS#11 отключены по умолчанию. В качестве обходного пути безопасности вы можете указать пустой белый список PKCS#11/FIDO (ssh-agent -P ») при запуске ssh-agent или явно указать библиотеки, разрешенные в белом списке.

Наконец, если вы заинтересованы в том, чтобы узнать больше об этом, вы можете ознакомиться с подробностями в по следующей ссылке.


Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: AB Internet Networks 2008 SL
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.