В поставляемом в составе GNOME просмотрщике документов Evince (https://wiki.gnome.org/Apps/Evince) выявлена уязвимость (https://bugzilla.gnome.org/show_bug.cgi?id=784630) (CVE-2017-1000083 (https://security-tracker.debian.org/tracker/CVE-2017-1000083)), которая может привести к выполнению кода злоумышленника при открытии специально оформленного файла в формате CBT (используется для комиксов). Проблема вызвана ошибкой в реализации обработчика comic book, входящего в состав evince. Уязвимость также проявляется (https://github.com/mate-desktop/atril/blob/master/backend/co...) в Atril (форк Evince, развиваемый проектом MATE) и Xreader (форк Atril от проекта Linux Mint).
Особую опасность представляет то, что уязвимость может быть эксплуатирована без явного открытия файлов пользователем - в процессе автоматического построения пиктограмм с эскизами для новых файлов, т.е. для эксплуатации достаточно просмотреть список файлов в файловом менеджере или вставить носитель. Более того, можно организовать (https://www.opennet.ru/opennews/art.shtml?num=45543) загрузку вредоносного файла и запуск 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 уже выпустили патчи (https://bugzilla.gnome.org/attachment.cgi?id=355499&action=diff) для веток gnome-3-20, gnome-3-22 и gnome-3-24. Уязвимость пока остаётся неисправленной в Debian (https://security-tracker.debian.org/tracker/CVE-2017-1000083), RHEL (http://www.vuxml.org/freebsd/) и FreeBSD (http://www.vuxml.org/freebsd/). Разработчики SUSE сформировали (https://bugzilla.novell.com/show_bug.cgi?id=CVE-2017-1000083) обновление для Tumbleweed, SLE12, SLE12 SP2, openSUSE Leap 42.2 и 42.3. Обновления также уже выпущены для Ubuntu (https://www.ubuntu.com/usn/usn-3351-1/) и Fedora Linux (https://bugzilla.redhat.com/show_bug.cgi?id=1470661).
В качестве обходного пути защиты рекомендуется временно отключить
evince-thumbnailer (удалить /usr/share/thumbnailers/evince.thumbnailer) и не открывать непроверенные файлы в формате CBT.
URL: https://bugzilla.gnome.org/show_bug.cgi?id=784630
Новость: https://www.opennet.ru/opennews/art.shtml?num=46854