Добавить в корзинуПозвонить
Найти в Дзене
DigiNews

Claude AI обнаружил уязвимости «RCE» в Vim и Emacs, срабатывающие при открытии файла

Уязвимости в Vim и GNU Emacs, обнаруженные с помощью Claude, позволяют удаленно выполнять код при открытии файла. Исследователь нашел RCE в Vim через modeline и проблему в Emacs, связанную с интеграцией Git. — bleepingcomputer.com Уязвимости в текстовых редакторах Vim и GNU Emacs, обнаруженные с помощью простых запросов к ассистенту Claude, позволяют выполнять удаленный код просто при открытии файла. Ассистент также создал несколько версий эксплойтов (PoC), доработал их и предложил способы устранения проблем безопасности. Vim и GNU Emacs — это программируемые текстовые редакторы, которые в основном используются разработчиками и системными администраторами для редактирования кода, работы в терминале и написания скриптов. В частности, Vim широко применяется в DevOps и по умолчанию установлен в большинстве дистрибутивов Linux-серверов, встраиваемых систем и macOS. Ханг Нгуен, исследователь из небольшой фирмы по кибербезопасности Calif, специализирующейся на AI red teaming и инженерии безо
Оглавление

Уязвимости в Vim и GNU Emacs, обнаруженные с помощью Claude, позволяют удаленно выполнять код при открытии файла. Исследователь нашел RCE в Vim через modeline и проблему в Emacs, связанную с интеграцией Git. — bleepingcomputer.com

Уязвимости в текстовых редакторах Vim и GNU Emacs, обнаруженные с помощью простых запросов к ассистенту Claude, позволяют выполнять удаленный код просто при открытии файла.

Ассистент также создал несколько версий эксплойтов (PoC), доработал их и предложил способы устранения проблем безопасности.

Vim и GNU Emacs — это программируемые текстовые редакторы, которые в основном используются разработчиками и системными администраторами для редактирования кода, работы в терминале и написания скриптов. В частности, Vim широко применяется в DevOps и по умолчанию установлен в большинстве дистрибутивов Linux-серверов, встраиваемых систем и macOS.

Уязвимость в Vim и исправление

Ханг Нгуен, исследователь из небольшой фирмы по кибербезопасности Calif, специализирующейся на AI red teaming и инженерии безопасности, обнаружил эти проблемы в Vim после того, как поручил Claude найти уязвимость нулевого дня (RCE) для удаленного выполнения кода в текстовом редакторе, срабатывающую при открытии файла.

Ассистент Claude проанализировал исходный код Vim и выявил отсутствие проверок безопасности и проблемы в обработке modeline, что позволяет выполнять код, внедренный в файл, при его открытии.

Modeline — это текст, размещаемый в начале файла, который указывает Vim, как его обрабатывать.

Даже если код должен был выполняться в “песочнице” (sandbox), другая проблема позволяла обойти это ограничение и выполнять команды в контексте текущего пользователя.

Уязвимости пока не присвоен идентификатор CVE, и она затрагивает все версии Vim 9.2.0271 и более ранние.

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

«Злоумышленник, который может доставить сформированный файл жертве, добьется произвольного выполнения команд с привилегиями пользователя, запускающего Vim», — говорится в бюллетене.

GNU Emacs указывает на Git

В случае с GNU Emacs уязвимость остается не устраненной, поскольку разработчик считает, что ответственность за ее устранение лежит на Git.

Проблема возникает из-за интеграции системы контроля версий в GNU Emacs (vc-git): открытие файла запускает операции Git через vc-refresh-state, что заставляет Git считывать файл .git/config и выполнять определенную пользователем программу core.fsmonitor, которую можно использовать для запуска произвольных команд.

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

Когда жертва распаковывает архив и открывает текстовый файл, полезная нагрузка выполняется без каких-либо видимых индикаторов в стандартной конфигурации GNU Emacs.

Сопровождающие GNU Emacs считают это проблемой Git, а не текстового редактора, поскольку среда лишь служит триггером для опасного действия, выполняемого Git: считывания контролируемой злоумышленником конфигурации и запуска программы из нее.

Хотя этот аргумент технически верен, поскольку в самом GNU Emacs ничего не выполняется напрямую, риск для пользователя существует, так как редактор автоматически запускает Git в недоверенных директориях без нейтрализации опасных опций и без запроса согласия пользователя или защиты “песочницы”.

Нгуен предложил GNU Emacs модифицировать вызовы Git, чтобы явно блокировать ‘core.fsmonitor’, благодаря чему любые опасные скрипты/полезные нагрузки не будут выполняться автоматически при открытии файла.

Поскольку в последней версии GNU Emacs этот недостаток не устранен, пользователям рекомендуется проявлять осторожность при открытии файлов из неизвестных источников или загруженных из интернета.

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

Автор – Bill Toulas

Оригинал статьи