Уязвимость, позволяющая запустить код при копировании файла на рабочий стол
Крис Эванс (Chris Evans), известный эксперт по компьютерной безопасности и автор защищенного FTP-сервера vsftpd, продолжил демонстрацию незащищенности мультимедийного фреймворка Gstreamer и представил новый 0-day эксплоит, позволяющий организовать выполнение кода при попытке обработки специальным образом оформленного мультимедийного контента. В момент публикации эксплоит позволяет организовать полностью повторяемую атаку против Ubuntu 16.04 LTS и Fedora 25 с самыми свежими обновлениями.
Подготовлено два эксплоита. Первый оформлен в виде файла с расширением mp3 и позволяет выполнить код атакующего при копировании на рабочий стол или открытии каталога с файлом в файловом менеджере или скопировать Второй эксплоит поставляется как flac-файл, который в Fedora достаточно открыть в браузре Chrome (файл автоматически сохраняется на рабочем столе). В первом случае атака проводится через процесс gnome-video-thumbnailer, создающий эскиз с пиктограммой, а в втором случае используется процесс tracker-extract, автоматически собирающий метаданные новых файлов. Индикатором успешной атаки в предложенных эксплоитах является запуск приложения с калькулятором (эксплоит может быть изменен для выполнения любого кода).
Особого внимания заслуживает техника атаки, основанная на ошибке в коде обработки музыкального формата SNES (Super Nintendo Entertainment System). Как оказалось gstreamer-плагин воспроизводит SNES через..... эмуляцию машинных кодов звукового процессора Sony SPC700 при помощи эмулятора Game Music Emu. В предложенных эксплоитах задействованы две ранее неизвестные уязвимости в эмуляторе, приводящие к переполнению буфера и позволяющие добиться выполнения кода процессором основной системы.
В серии своих исследований, на примере подготовки рабочих эксплоитов, Крис Эванс пытается привлечь внимание к проблеме с плачевным уровнем безопасности в плагинах Gstreamer и показать, что возможно создание гарантированно работающих эксплоитов, использующих проблемы в обработчиках контента и успешно обходящих защиту механизмов ASLR (Address Space Layout Randomization) и DEP (Data Execution Prevention). Напомним, что в конце ноября Крис представил работающий в Fedora Linux эксплоит, использующий уязвимость в обработчике формата FLAC. После чего подготовил пример нового работающего эксплоита для этой же уязвимости, некорректно исправленной в Fedora Linux. Далее Крис опубликовал сведения об еще шести уязвимостях в декодировщиках форматов FLIC и vmnc, позволяющих организовать выполнение кода при открытии специально оформленных файлов.
Для успешного проведения атаки достаточно добиться обработки специально оформленного мультимедийного файла в системе, что можно сделать без явного открытия файла - в популярных дистрибутивах для новых файлов автоматически запускаются различные индексаторы метаданных (GNOME Tracker) и генераторы миниатюр для файлового менеджера. Также атака может быть совершена через web-браузер, путем автовоспроизведения подготовленного злоумышленником файла - несмотря на применяемые в браузерах средства изоляции предлагаемый для воспроизведения поток будет обработан уязвимым внешним кодеком или, в случае Chrome, сохранен на рабочий стол (для нового файла GNOME автоматически запустит обработчик метаданных).