Что такое Ghostscript и кто его использует
Ghostscript — это свободный интерпретатор языков PostScript и PDF, разрабатываемый компанией Artifex Software. В отличие от таких инструментов, как Poppler или MuPDF, Ghostscript изначально создавался как полноценный интерпретатор PostScript — языка описания страниц, который лежит в основе большинства принтерных устройств и предшествовал PDF. Сегодня Ghostscript умеет как читать PostScript и конвертировать его в PDF, так и рендерить PDF в растровые изображения или векторные форматы.
На Ghostscript опирается широкий круг программ: CUPS (стандартная система печати Linux), Inkscape при работе с EPS-файлами, ImageMagick при конвертации PDF в изображения, а также многочисленные серверные пайплайны обработки документов. LibreOffice использует Ghostscript как запасной PDF-рендерер при отсутствии libpoppler. По данным пакетных менеджеров Ubuntu 2026 года, ghostscript установлен в рамках зависимостей примерно у 30% систем с установленным LibreOffice или CUPS.
Версия 10.08.0 вышла 8 сентября 2026 года — следующая после 10.07.0 (март 2026). Artifex придерживается полугодового цикла крупных релизов, поэтому обновление несёт заметные изменения в поведении, а не только набор мелких исправлений.
Защита устройств: главное изменение релиза
Ключевое изменение безопасности в 10.08.0 — ограничение разрешённых устройств вывода. По умолчанию Ghostscript теперь разрешает использовать только то устройство, которое явно указано пользователем при запуске (через ключ -sDEVICE=). Если PostScript-файл пытается изменить устройство вывода программным путём — через PostScript-операторы — это действие блокируется.
ℹ
Почему это важноПереключение устройств вывода из PostScript-кода — известный вектор атаки. Вредоносный .ps-файл или PDF с PostScript-содержимым мог заставить Ghostscript перенаправить вывод не на экран, а, например, на принтер, в файл системного пути или на сетевое устройство. Новое ограничение закрывает эту возможность по умолчанию.
Для пользователей, чьи рабочие сценарии требуют переключения устройств из PostScript-кода (например, сложные типографские пайплайны), Artifex предусматривает явное разрешение через командную строку. Такие сценарии существуют, но являются нишевыми — для большинства пользователей изменение прозрачно.
Помимо этого, из списка разрешённых по умолчанию директорий удалён каталог temp. Ghostscript имеет встроенный механизм контроля доступа к файловой системе (-dSAFER), и сужение списка директорий уменьшает поверхность атаки при работе с недоверенными документами.
Ещё одно изменение — удаление из дефолтных сборок ряда устаревших и плохо поддерживаемых устройств вывода. Они не удалены из исходников полностью, но перестали включаться по умолчанию. Artifex сообщает, что в будущих версиях эти устройства могут быть вынесены в отдельные пакеты или удалены совсем.
Удалённые операторы PostScript
Ghostscript 10.08.0 убирает из языковой среды семь нестандартных операторов PostScript, которые относились к управлению устройствами. Они никогда не были частью официальной спецификации PostScript (Adobe PLRM), а существовали как расширения Ghostscript — и именно это делало их потенциально опасными при обработке входящих документов.
Удалённые операторы:
.tempfile — создание временных файлов из PostScript-кода;
makeimagedevice — программное создание нового устройства вывода;
putdeviceprops — изменение свойств текущего устройства;
getdeviceprops — чтение свойств устройства (потенциальный канал утечки конфигурации);
finddevice — поиск устройства по имени;
copydevice — копирование существующего устройства;
findprotodevice — поиск прототипа устройства.
Если ваш рабочий PostScript-код содержит обращения к этим операторам, при запуске Ghostscript 10.08.0 вы получите ошибку. Это применимо прежде всего к разработчикам типографского ПО и авторам сложных .ps-скриптов — рядовые пользователи, конвертирующие PDF или просматривающие документы, с этими операторами никогда не сталкивались.
✓
Что делать, если скрипт сломалсяПроверьте свой .ps-файл на наличие перечисленных операторов. Если они нужны для легитимной задачи, Artifex рекомендует реализовать аналогичную функциональность через механизмы командной строки Ghostscript, а не через операторы внутри PostScript-кода.
Новая политика C99 для сторонних библиотек
Ghostscript исторически написан на C89 с добавлением широко поддерживаемых расширений — это обеспечивает максимальную переносимость на экзотических платформах и встраиваемых системах. Однако Ghostscript поставляется с рядом бандлированных сторонних библиотек (libpng, zlib, freetype, harfbuzz и другие), которые разрабатываются независимо и давно используют возможности C99.
До версии 10.08.0 это создавало трения: сторонние библиотеки вынуждены были либо ограничивать себя, либо в сборках Ghostscript применялись флаги компилятора, не позволявшие полноценно использовать C99-возможности. В 10.08.0 Artifex официально разрешила бандлированным сторонним библиотекам использовать C99 и более поздние стандарты.
Для конечных пользователей это изменение практически незаметно — оно сказывается на опыте разработчиков и мейнтейнеров, которые собирают Ghostscript из исходников или поддерживают его в дистрибутивах Linux. Сборка становится чище: меньше патчей для отключения C99-кода в сторонних библиотеках, меньше предупреждений компилятора.
Где скачать и как обновить
Ghostscript 10.08.0 доступен для скачивания с 8 сентября 2026 года:
- Windows (32-bit):
gs10080w32.exe на официальном сайте и GitHub Releases;
- Windows (64-bit):
gs10080w64.exe там же;
- Linux / macOS (исходники):
ghostscript-10.08.0.tar.gz и .tar.xz;
- GhostPCL и GhostXPS (компаньоны для PCL и XPS форматов) — также 10.08.0 в том же релизе.
Пользователи Linux, как правило, не скачивают Ghostscript вручную: он обновляется вместе с дистрибутивом. В Debian/Ubuntu пакет называется ghostscript; проверить версию: gs --version. Для Arch Linux версия уже появилась в extra/ghostscript.
Если вы работаете с PDF-документами через браузер и вам нужно конвертировать PDF в Word или объединить несколько PDF в один файл — эти операции доступны в инструментах Loadfile без установки дополнительного ПО. Для понимания того, как устроен PDF внутри, полезна наша статья о формате PDF. Параллельно за PDF-движками следите и за обновлениями Poppler, который используется в большинстве Linux-приложений для чтения документов. Стандарт PDF также продолжает развиваться: ведётся работа по добавлению в PDF сжатия Brotli, что может существенно уменьшить размер файлов.
Источники