Компания Artifex Software выпустила (https://www.ghostscript.com/doc/9.24/News.htm) релиз набора инструментов для обработки, преобразования и генерации документов в форматах PostScript и PDF - Ghostscript 9.24 (http://www.ghostscript.com). Ghostscript позволяет обрабатывать как язык Postscript так и документы PDF, переводить их в растровые форматы для показа на экране или для вывода на печать на принтерах без поддержки Postscript. Код проекта распространяется под лицензией AGPLv3, а содержимое каталога CMap по специальной лицензии Adobe.
В новой версии проведена работа по усилению безопасности и устранена большая порция разноплановых уязвимостей. Наиболее опасной из решённых проблем является возможность (https://www.kb.cert.org/vuls/id/332928) (CVE-2018-15908 (https://security-tracker.debian.org/tracker/CVE-2018-15908)) обхода ограничений sandbox-изоляции, применяемой при запуске в режиме "-dSAFER (https://www.ghostscript.com/doc/current/Use.htm#Safer)". Указанная узявимость позволяет организовать выполнение в системе произвольного кода при обработке в Ghostscript специально оформленных документов (уже доступен универсальный эксплоит (https://bugs.chromium.org/p/project-zero/issues/attachment?a...), который работает в Linux и Windows со всеми фронтэндами Ghostscript).
Проблема проявляется (https://bugs.chromium.org/p/project-zero/issues/detail?id=1640) в том числе в продуктах, использующих обработчики Ghostscript, таких как ImageMagick, GraphicsMagick, Evince, GIMP, Mediawiki, Okular и Nautilus. Так как Ghostscript также применяется при построении миниатюр для рабочего стола и индексации данных, то для успешной атаки во многих (https://www.opennet.ru/opennews/art.shtml?num=46854) случаях (https://www.opennet.ru/opennews/art.shtml?num=45700) достаточно просто загрузить файл с эксплоитом или просмотреть каталог с ним в Nautilus. Для защиты от автоматического построения миниатюр рекомендуется временно отключить (переименовать) "/usr/bin/evince-thumbnailer".
Уязвимость также может быть эксплуатирована при преобразовании или проверке изображений при помощи обработчиков, вызывающих ImageMagick или GraphicsMagick. При этом проблемный PS, EPS, PDF и XPS может быть представлен в виде JPEG или PNG-файла, но ImageMagick и GraphicsMagick обработают такой файл в соответствии с распознанным по содержимому MIME-типом, а не полагаясь на расширение. Например, для запуска утилиты "id" достаточно создать следующий файл (shellexec.jpeg (https://bugs.chromium.org/p/project-zero/issues/attachment?a...)):
%!PS
userdict /setpagedevice undef
legal
{ null restore } stopped { pop } if
legal
mark /OutputFile (%pipe%id) currentdevice putdeviceprops
При преобразовании его в другой формат, будет выполнен произвольный код:
convert shellexec.jpeg whatever.gif
uid=1000(taviso) gid=1000(taviso) groups=1000(taviso),10(wheel)
В качестве обходного пути защиты в /etc/ImageMagick/policy.xml в секции policymap можно запретить обработку PS, EPS, PDF и XPS:
‹policy domain="coder" rights="none" pattern="PS" /›
‹policy domain="coder" rights="none" pattern="PS2" /›
‹policy domain="coder" rights="none" pattern="PS3" /›
‹policy domain="coder" rights="none" pattern="EPS" /›
‹policy domain="coder" rights="none" pattern="PDF" /›
‹policy domain="coder" rights="none" pattern="XPS" /›
В Ghostscript 9.24 также устранено несколько других критичных уязвимостей:
- CVE-2018-15911 (https://security-tracker.debian.org/tracker/CVE-2018-15911) - возможность использования неинициализированной памяти при манипуляции с оператором aesdecode в PostScript-файлах, которая потенциально может привести к выполнению кода атакующего;
- CVE-2018-15910 (https://security-tracker.debian.org/tracker/CVE-2018-15910) - возможность выполнения кода при обработке файлов PostScript со специально подобранными парамерами LockDistillerParams;
- CVE-2018-15909 (https://security-tracker.debian.org/tracker/CVE-2018-15909) - проблема при обработке типов в операторе .shfill, которая может применяться для выхода за границы буфера при обработке специально оформленных файлов PostScript. Потенциально не исключается использование уязвимости для выполнения кода атакующего.
URL: https://www.ghostscript.com/doc/9.24/News.htm
Новость: https://www.opennet.ru/opennews/art.shtml?num=49224