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

В пакете gnome-exe-thumbnailer, поставляемом во многих дистрибутивах, но официально не входящем в состав GNOME, выявлена уязвимость (CVE-2017-11421), позволяющая выполнить код злоумышленника при просмотре в файловом менеджере каталога, содержащего специально оформленный исполняемый файл Windows в формате MSI. Примечательно, что всего несколько дней назад похожая проблема была исправлена в компоненте evince.thumbnailer.

Уязвимость вызвана ошибкой в коде извлечения версии формата MSI в shell-скрипте gnome-exe-thumbnailer. Для выполнения данной операции на лету создаётся VBScript, анализирующий поля в файле, который затем выполняется через Wine:

   wine cscript.exe //E:vbs //NoLogo Z:\tmp\${TEMPFILE1##*/}.vbs 2/dev/null"

Так как VBScript-скрипт для извлечения версии оформлен в виде шаблона, в который подставляется имя файла (Set DB = WI.OpenDatabase(«$INPUTFILE»,0)), то указав в имени файла символ кавычки можно подставить дополнительный код в формируемый VBScript. Например, при разборе файла с именем

   poc.msi",0):Set fso=CreateObject("Scripting.FileSystemObject"):Set poc=fso.CreateTextFile("badtaste.txt")'.msi

в шаблоне появится конструкция, создающая файл badtaste.txt:

   Set DB = WI.OpenDatabase("poc.msi",0):Set fso=CreateObject("Scripting.FileSystemObject"):Set poc=fso.CreateTextFile("badtaste.txt")',0)

Для эксплуатации уязвимости достаточно организовать вызов обработчика gnome-exe-thumbnailer для подготовленного злоумышленником файла. В частности, gnome-exe-thumbnailer будет запущен для создания миниатюр для файлов MSI при открытии каталога с ними в файловом менеджере, например, для атаки достаточно вставить USB-накопитель с вредоносным файлом. Другим вектором атаки является web-браузер: при открытии специально оформленной страницы можно инициировать вызов простроителя миниатюр в Chrome и Epiphany, не требуя от пользователя каких-либо действий.

Уязвимость устранена в выпуске gnome-exe-thumbnailer 0.9.5. В качестве обходного пути защиты можно отключить gnome-exe-thumbnailer, удалив файл /usr/share/thumbnailers/gnome-exe-thumbnailer. Проследить появление пакетов с исправлениями можно на данных страницах: Debian, FreeBSD, Ubuntu, SUSE, openSUSE, RHEL, Fedora.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.