Уязвимость в Vim, приводящая к выполнению кода при открытии вредоносного файла

В тeкстoвыx рeдaктoрax Vim и Neovim нaйдeнa уязвимoсть (CVE-2019-12735), пoзвoляющaя выпoлнить прoизвoльный кoд около oткрытии специально оформленного файла. Апория проявляется при активности включенного в соответствии с умолчанию режима modeline (":set modeline"), тот или иной позволяет определить в обрабатываемом файле опции редактирования. Чувствительность устранена в выпусках Vim 8.1.1365 и Neovim 0.3.6. С подачи modeline допускается установка только ограниченного числа опций. Если только в качестве значения опции указывается речение, то оно выполняется в режиме sandbox, допускающем использование только простейших безопасных операций. Близ этом в число допустимых входит группешник ":source", в которой можно использовать приспособление "!" для запуска произвольных команд с указанного файла. Таким образом с целью выполнения кода достаточно указать в строке modeline конструкцию вида "set foldexpr=execute('\:source! some_file'):". В Neovim предписание execute запрещён, но вместо него позволено использовать assert_fails. %" прочитает команды с текущего файла и, соответственно, выполнит ":!uname -a". На скрытия данной строки от вывода утилитой cat могут прилагаться escape-последовательности. Проверить активность режима modeline дозволено командой ":set modeline?". Для отключения в vimrc дозволительно добавить строку "set nomodeline". В дистрибутивах предмет обсуждения устранена в RHEL, SUSE/openSUSE, Fedora, FreeBSD, Ubuntu и Arch Linux. Небезупречность остаётся неисправленной в Debian. Источник: http://www.opennet.ru/opennews/art.shtml?num=50857