В Vim нашли опасную уязвимость: для атаки достаточно просто открыть файл

В Vim нашли опасную уязвимость: для атаки достаточно просто открыть файл

В Vim нашли опасную уязвимость: для атаки достаточно просто открыть файл

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

Проблема получила оценку 8,2 балла по шкале CVSS, так что история вполне серьёзная.

И особенно неприятно здесь то, насколько легко срабатывает атака: жертве не нужно нажимать на какие-то дополнительные кнопки или подтверждать действия. Достаточно просто открыть вредоносный файл в Vim.

Уязвимость связана с цепочкой из двух ошибок. Первая касается функции modeline, которая позволяет задавать определённые параметры прямо внутри открываемого файла.

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

Дальше включается вторая часть проблемы. Vim распознаёт, что выражение небезопасно, и пытается выполнить его в ограниченной среде — так называемой песочнице. Но тут срабатывает ещё одна ошибка: функция autocmd_add() не выполняет нужную проверку безопасности.

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

Именно из-за этой связки багов злоумышленник получает возможность выполнить в системе произвольную ОС-команду с правами того пользователя, который запустил Vim.

Под удар попадают стандартные сборки Vim с поддержкой tabpanel. Как отмечается, это характерно для сборок типа HUGE, а они используются довольно широко. Дополнительный риск создаёт и то, что modeline во многих окружениях включён по умолчанию.

Разработчики Vim уже выпустили срочный патч. Безопасной считается версия 9.2.0272 и новее. Тем, кто пока не может обновиться сразу, советуют хотя бы временно отключить modeline, добавив в .vimrc строку set nomodeline.

Новые файлы в Windows могут наследовать дату старых, но это не баг

Создали новый файл, открыли его свойства, а Windows уверяет, что он появился вчера? Нет, система не сошла с ума. Это File System Tunnelling — файловое туннелирование, которое Windows использует уже несколько десятилетий, объяснил один из специалистов Microsoft.

Как выяснили в Windows Latest, после удаления или переименования файла система ненадолго сохраняет его метаданные в специальном кеше.

Если в той же папке быстро создать новый файл с прежним именем, он может унаследовать дату создания предшественника и соответствие между длинным и коротким именами.

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


Механизм появился не ради издевательства над пользователями. Многие программы сохраняют документы безопасным способом: создают временный файл с изменениями, удаляют оригинал, а затем переименовывают временный файл. Без туннелирования Windows считала бы такой документ совершенно новым и каждый раз меняла дату его создания.

Вторая причина тянется прямиком из эпохи DOS и 16-битных приложений. Старые программы работали с короткими именами формата 8.3, поэтому Windows требовалось сохранять связь между ними и привычными длинными названиями файлов.

Туннелирование срабатывает при определённых сочетаниях удаления, создания и переименования файлов в одной папке. Кеш временный и постепенно очищается, поэтому документ, удалённый месяц назад, внезапно не передаст свою дату новому тёзке.

Так что если свежий файл приписывает себе чужой возраст, Проводник не обязательно врёт. Возможно, Windows просто снова тащит за собой совместимость времён, когда длинное имя файла уже считалось роскошью.

RSS: Новости на портале Anti-Malware.ru