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

3 месяца ago admin 0

В пакете 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.

Для эксплуатации уязвимости достаточно организовать вызов обработчика 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.


Source: pirates.in.ua