Уязвимость в Ghostscript, эксплуатируемая через ImageMagick

В Ghostscript, наборе инструментов для обработки, преобразования и генерации документов в форматах PostScript и PDF, выявлена критическая уязвимость (CVE-2021-3781), позволяющая выполнить произвольный код при обработке специально оформленного файла. Изначально на наличие проблемы обратил внимание Эмиль Лернер, который рассказал об уязвимости 25 августа на прошедшей в Санкт-Петербурге конференции ZeroNights X (в докладе было рассказано, как Эмиль в рамках программ bug bounty использовал уязвимость для получения премий за демонстрацию атак на сервисы компаний AirBNB, Dropbox и Яндекс.Недвижимость).

5 сентября в открытом доступе появился рабочий эксплоит, позволяющий атаковать системы с Ubuntu 20.04 через передачу выполняемому на сервере web-скрипту, использующему пакет php-imagemagick, специально оформленного документа, загруженного под видом картинки. При этом по предварительным данным подобный эксплоит находился в обиходе ещё с марта.

Заявлялось о возможности атаки на системы с GhostScript 9.50, но выяснилось, что уязвимость проявляется и во всех последующих версиях GhostScript, включая находящийся в разработке выпуск 9.55 из Git. Исправление было принято в репозиторий GhostScript только 9 сентября, а во многих дистрибутивах проблема остаётся до сих пор не исправлена (Debian, Ubuntu, Fedora, SUSE, RHEL). Релиз GhostScript с устранением уязвимости планируют опубликовать до конца месяца.

Проблема вызвана возможностью обхода режима изоляции «-dSAFER» из-за недостаточной проверки использования спецсимволов в параметрах устройств «%pipe%», %handle%» и %printer%», позволявших добиться выполнения произвольных shell-команд. Например, для запуска утилиты id в документе достаточно указать строку «(%pipe%/tmp/&id)(w)file» или «(%pipe%/tmp/;id)(r)file».

Напомним, что уязвимости в Ghostscript представляют повышенную опасность, так как данный пакет используется во многих популярных приложениях для обработки форматов PostScript и PDF. Например, Ghostscript вызывается в процессе создания миниатюр на рабочем столе, при фоновой индексации данных и при преобразовании изображений. Для успешной атаки во многих случаях достаточно просто загрузить файл с эксплоитом или просмотреть каталог с ним в файловом менеджере, поддерживающем отображение эскизов документов, например, в Nautilus.

Уязвимости в Ghostscript также можно эксплуатировать через обработчики изображений на базе пакетов ImageMagick и GraphicsMagick, передав в них JPEG или PNG-файл, в котором вместо картинки находится код PostScript (такой файл будет обработан в Ghostscript, так как MIME-тип распознаётся по содержимому, а не полагаясь на расширение).

Источник: http://www.opennet.ru/opennews/art.shtml?num=55780