Уязвимость в GNOME Evince, позволяющая выполнить код при построении миниатюр

В поставляемом в составе GNOME просмотрщике документов Evince выявлена уязвимость (CVE-2017-1000083), которая может привести к выполнению кода злоумышленника при открытии специально оформленного файла в формате CBT (используется для комиксов). Проблема вызвана ошибкой в реализации обработчика comic book, входящего в состав evince. Уязвимость также проявляется в Atril (форк Evince, развиваемый проектом MATE) и Xreader (форк Atril от проекта Linux Mint).

Особую опасность представляет то, что уязвимость может быть эксплуатирована без явного открытия файлов пользователем — в процессе автоматического построения пиктограмм с эскизами для новых файлов, т.е. для эксплуатации достаточно просмотреть список файлов в файловом менеджере или вставить носитель. Более того, можно организовать загрузку вредоносного файла и запуск evince-thumbnailer незаметно от пользователя при открытии специально оформленной web-страницы в браузерах Chrome и Epiphany. Проблему усугубляет то, что evince-thumbnailer запускается без применения sandbox-изоляции.

CBT-файл представляет собой tar-архив, в котором размещена упорядоченная коллекция изображений. В процессе просмотра комиксов для извлечения каждого изображения в Evince запускается команда «tar -xOf $archive $filename». Имена файлов перед запуском экранируются кавычками. Атакующий может поместить в архив картинку с именем, начинающимся с символов «—» и при запуске tar для извлечения данного файла имя этого файла будет обработано как опция командной строки. Таким образом, поместив в архив файл с именем «—checkpoint-action=exec=bash -c ‘touch ~/covfefe.evince;’.jpg», можно добиться выполнения команды touch. По аналогии можно организовать выполнение любого кода на shell.

Разработчики GNOME уже выпустили патчи для веток gnome-3-20, gnome-3-22 и gnome-3-24. Уязвимость пока остаётся неисправленной в Debian, RHEL и FreeBSD. Разработчики SUSE сформировали обновление для Tumbleweed, SLE12, SLE12 SP2, openSUSE Leap 42.2 и 42.3. Обновления также уже выпущены для Ubuntu и Fedora Linux.

В качестве обходного пути защиты рекомендуется временно отключить
evince-thumbnailer (удалить /usr/share/thumbnailers/evince.thumbnailer) и не открывать непроверенные файлы в формате CBT.

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

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

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