CVE-2017-8291

Artifex Ghostscript

ВЫСОКАЯ ВЕРОЯТНОСТЬ

Дата обнаружения

2022-05-24

Официальное описание

Artifex Ghostscript allows -dSAFER bypass and remote command execution via .rsdparams type confusion with a "/OutputFile.

🛡️
Технический анализ и план устранения

Суть уязвимости

Уязвимость типа "type confusion" в обработчике параметров .rsdparams в Ghostscript. Злоумышленник может создать специальный PostScript-файл, который при обработке интерпретатором Ghostscript с параметром -dSAFER обходит эту защиту. Это позволяет произвольной команде, указанной в параметре /OutputFile, выполниться на сервере. Уязвимость критична, если Ghostscript используется веб-приложением для обработки загружаемых пользователями файлов (например, конвертации PDF в изображения).

Как исправить

Основное решение — обновить Ghostscript до исправленной версии.

  • Для Debian/Ubuntu: bash sudo apt update sudo apt install ghostscript Убедитесь, что установлена версия 9.20~dfsg-1 или выше для Debian 9/stretch, или 9.21~dfsg-1 и выше для более новых дистрибутивов.

  • Для RHEL/CentOS 7: bash sudo yum update ghostscript Убедитесь, что установлена версия 8.70-23.el7_4.1 или выше.

  • Для Windows: Установите обновление от вендора вашего дистрибутива Ghostscript (например, от Artifex или GPL Ghostscript). Загрузите и установите последнюю версию с официального сайта: https://www.ghostscript.com/download.html

После обновления обязательно перезапустите все службы и демоны, которые используют Ghostscript (например, веб-серверы).

Временное решение

Если немедленное обновление невозможно, примените следующие меры:

  1. Отключите обработку PostScript в Ghostscript через политику -dSAFER (это стандартная мера, но для данной CVE она была обходима, поэтому требуется следующий пункт).
  2. Используйте настройки -sDEVICE= для ограничения устройств вывода. Например, разрешите только безопасные устройства, такие как display или pngalpha, явно указав их в команде вызова.
  3. В веб-приложении добавьте строгую проверку MIME-типов и расширений загружаемых файлов, отклоняя все, кроме ожидаемых (например, только .pdf). Внимание: это не абсолютная защита, так как файл можно переименовать.
  4. Настройте WAF (Web Application Firewall) на блокировку HTTP-запросов, содержащих в теле или параметрах известные сигнатуры эксплоита для CVE-2017-8291 (например, строки, связанные с .rsdparams и /OutputFile).
  5. Изолируйте сервис, использующий Ghostscript, в отдельном контейнере или виртуальной машине с минимальными правами доступа к основной системе.