В предустановленных на многих дистрибутивах Linux версиях Vim и NeoVim найдена критическая уязвимость, которая позволяет злоумышленнику получить контроль над компьютером жертвы, если она откроет заражённый текстовый файл. Проблема так же касается и последней версии macOS, хотя атака сработает только если была включена опция `modelines`.
Как пояснил Armin Razmjou — исследователь, открывший уязвимость, хотя режим `modelines` и должен запускать команды исключительно в песочнице, команда
В качестве конкретного примера приводится текстовый файл, который сразу же после открытия запускает бекконнект шелл и перезаписывает своё содержимое, чтобы скрыть факт атаки:

Проблема актуальна для Vim до 8.1.1365 и Neovim до 0.3.6. Debian и Fedora уже начали выпуск патченных версий. А вот macOS всё ещё предлагает уязвимую восьмую версию редактора.
Так что если обновление вам пока не доступно, а `modelines` включены, вероятно, стоит эту опцию временно отключить.
[ источник ]
              
            Как пояснил Armin Razmjou — исследователь, открывший уязвимость, хотя режим `modelines` и должен запускать команды исключительно в песочнице, команда
:source! полностью обходит это ограничение и, таким образом, способна исполнить произвольные команды, как если бы они были вводились вручную.В качестве конкретного примера приводится текстовый файл, который сразу же после открытия запускает бекконнект шелл и перезаписывает своё содержимое, чтобы скрыть факт атаки:

Проблема актуальна для Vim до 8.1.1365 и Neovim до 0.3.6. Debian и Fedora уже начали выпуск патченных версий. А вот macOS всё ещё предлагает уязвимую восьмую версию редактора.
Так что если обновление вам пока не доступно, а `modelines` включены, вероятно, стоит эту опцию временно отключить.
[ источник ]
Комментарии (8)
 - razielvamp17.06.2019 08:12- А как можно сделать файл который в теле содержит обычный текст, а на самом деле там там строки кода, которые даже cat не отображает?  - vladkorotnev17.06.2019 09:30- В данном случае при помощи escape-кодов терминала.  - razielvamp17.06.2019 14:51+1- Можно ли тогда говорить, что у cat и bash если не уязвимость, то по-крайней мере баг? 
 cat должен отображать текст как есть, или форматирование спецсимволами это фича? - vladkorotnev17.06.2019 15:10+1- Они в этом случае ни при чём. Баш это просто оболочка, а cat выдаёт просто поток байтов из файла в терминал (вообще в другой поток, но упрощённо скажем, что в терминал). 
 Форматирование спецсимволами — именно что фича самого терминала, обусловленная стандартом ещё из далёких времён, когда терминалы были отдельными устройствами.
 
 
 
 
           
 
saipr
Интересно а что думают по этому поводу наши импортозамещатели (и не выговоришь)?
Я что-то не слышал, чтобы они исправляли плюхи или, как в данном случае, готовили патч. Скорее всего они дождутся патча от своего прородителя:
balsoft
Патчить должны мейнтейнеры Vim, а дистростроителям нужно просто этот патч применить при сборке новых версий.
saipr
А что же тогда Debian и Fedora делают? А Базальт когда начнет выпуск патченных версий?
chupasaurus
Либо берут патч из апстрима (кода проекта), либо накладывают сами с указанием этого в версии (Debian такие апдейты обычно помечает -dfsg-число).