
В последнем релизе проекта Ghostscript (версия под номером 10.01.2) нашли уязвимость, позволяющую вредоносным документам не только создавать страницы с графикой и текстом, но и отправлять движку команды.
Даже если вы не слышали о Ghostscript, вполне вероятно, вы пользуетесь им неосознанно. Например, он идёт предустановленным в BSD, Homebrew в macOS и Chocolatey в Windows.
Фактически Ghostscript представляет собой имплементацию Adobe PostScript с открытым исходным кодом. Ghostscript можно встретить, например, в графическом софте Inkscape, который использует его для импорта векторной графики в формате EPS (Embedded PostScript).
Уязвимость, которую недавно нашли в последней версии проекта, получила идентификатор CVE-2023-36664. С её помощью условный злоумышленник может отправить графическому движку команды и заставить программу выполнить их.
Корень проблемы кроется в способе обработки имён файлов, который допускал вывод в пайп, а не обычный файл. Пайпы (pipe), как вы наверняка знаете, являются системными объектами, но при этом могут выдавать себя за файлы.
Как выяснили специалисты Sophos, у Ghostscript есть «фича», позволяющая отправить вывод в специально созданное имя файла, начинающееся с %pipe% или просто |. Эта лазейка позволяет запустить команды на компьютере потенциальной жертвы.
Исследователи рекомендуют проверить наличие обновлений Ghostcript и поддерживать версию пакета в актуальном состоянии.