Выпуск 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. Потенциально не исключается использование уязвимости для выполнения кода атакующего.


09/04/2018 10:38:46
0

комментарии (0)