Уязвимость в Vim позволила выполнить код при открытии TXT

напор

Исправлена ​​новая уязвимость в предустановленных текстовых редакторах различных дистрибутивов. Linux был найден в текстовых редакторах Vim и Neovim (CVE-2019-12735).

Ошибка, обнаруженная в этих редакторах позволяет хакерам контролировать компьютеры, когда пользователи открывают вредоносный текстовый файл. Проблема проявляется в том, что по умолчанию активирована модельная линия (": set modeline"), что позволяет вам определять параметры редактирования в обрабатываемом файле.

Vim и его форк NeoVim содержали недостаток, присущий моделям. Эта функция позволяет пользователям указывать размеры окна и другие настраиваемые параметры в начале или в конце текстового файла.

Эта функция включена по умолчанию в версиях до Vim 8.1.1365 Neovim 0.3.6 и применяется ко всем типам файлов, включая файлы .txt.

Об уязвимости в Vim

Через Modeline, допускается только ограниченное количество опций. SЕсли выражение указано в качестве значения параметра, оно запускается в режиме песочницы, который позволяет использовать только самые простые безопасные операции.

Al mismo tiempo, команда ": source" - одна из разрешенных, в которой вы можете использовать модификатор "!" для запуска произвольных команд из указанного файла.

Следовательно, чтобы выполнить код, достаточно указать в строке режима конструкцию вида «set foldexpr = execute ('\: source! Some_file'):». В Neovim вызов выполнения запрещен, но вместо него можно использовать assert_fails.

С другой стороны, в песочнице он предназначен для предотвращения побочных эффектов:

Параметры 'foldexpr', 'formatexpr', 'includeexpr', 'indentexpr', 'statusline' и 'foldtext' можно оценить в песочнице. Это означает, что вы защищены от этих выражений с неприятными побочными эффектами. Это обеспечивает некоторую безопасность, когда эти параметры определяются из модели.

Хотя модели ограничивают доступные команды и выполняют их в среде, изолированной от операционной системы, исследователь Армин Размжу отметил, что команда: font! обошли эту защиту:

«Она читает и выполняет команды в заданном файле, как если бы они были введены вручную, выполняя их после того, как песочница была покинута», - написал исследователь в сообщении, опубликованном ранее в этом месяце. -ci.

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

Сообщение включает два проверочных текстовых файла., один из которых наглядно иллюстрирует угрозу.

Один из них открывает обратную оболочку на компьютере под управлением Vim или NeoVim. Оттуда злоумышленники могли запускать команды по своему выбору на реквизированной машине.

«Этот PoC описывает реальный подход к атаке, при котором обратная оболочка запускается, когда пользователь открывает файл», - написал Размджоу. «Чтобы скрыть атаку, файл будет сразу переписан при открытии. Кроме того, PoC использует escape-последовательности терминала, чтобы скрыть модельную строку, когда контент печатается с помощью cat. (cat -v показывает фактическое содержимое). «

Уязвимость выполнения команд требует активации стандартных функций моделирования., как и в некоторых дистрибутивах Linux по умолчанию. Дефект обнаружен в Vim до версии 8.1.1365 и в Neovim до версии 0.3.6.

Этот совет из Национальной базы данных уязвимостей Национального института стандартов и технологий показывает, что дистрибутивы Debian и Fedora Linux начали выпускать исправленные версии.

В дистрибутивах проблема решена в RHEL, SUSE / openSUSE, Fedora, FreeBSD, Ubuntu, Arch Linux и ALT.

Уязвимость остается неисправленной в Debian. (В режиме Debian она отключена по умолчанию, поэтому уязвимость не проявляется в состоянии по умолчанию).

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


Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.

Будьте первым, чтобы комментировать

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

Ваш электронный адрес не будет опубликован.

*

*

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

bool (истина)