Мой блог
Уязвимость в Ghostscript позволяет злоумышленникам перехватывать серверы через загрузку PDF
Критическая уязвимость переполнения буфера кучи (CVE-2026-39919) в интерпретаторе и движке рендеринга Ghostscript открывает потенциал для удаленного выполнения произвольного кода с помощью специально сформированных PDF-файлов. Эту опасную брешь в безопасности выявили эксперты исследовательской платформы Wordfence с помощью собственной системы на базе искусственного интеллекта.
Проблема затрагивает многие веб-системы, включая платформу WordPress, использующую внешние библиотеки для генерации превью и обработки документов. Далее подробно рассматриваются механизм уязвимости, условия её реализации и способы защиты.
Особенности работы Ghostscript и обнаружение бреши
Программное обеспечение Ghostscript представляет собой интерпретатор PostScript и PDF, который способен визуализировать PDF-документы в виде изображений, генерировать уменьшенные копии для предпросмотра, а также оптимизировать файлы посредством сжатия внедренных графических элементов и удаления избыточных данных шрифтов.
В процессе создания превью для PDF-файлов платформа WordPress задействует PHP-расширение Imagick, которое обращается к утилите ImageMagick, а та, в свою очередь, инициирует запуск Ghostscript. Специально подготовленный PDF-документ, содержащий изображение в формате JPEG 2000, способен спровоцировать некорректную обработку образцов с малой глубиной цвета и несоответствие разрешений компонентов.
Создание эксплойтов и тестирование окружения
Используя возможности ИИ-системы Argus, исследователи разработали два варианта эксплойтов для уязвимости CVE-2026-39919. Данный вредоносный код принудительно заставляет интерпретатор записывать 1024 байта в буфер размером 256 байт, что приводит к повреждению соседних участков памяти и позволяет добиться удаленного выполнения неаутентифицированного кода в среде WordPress.
Специалисты акцентировали внимание на WordPress, однако подчеркивают, что уязвимость затрагивает любые онлайн-серверы, на которых установлены версии Ghostscript с 9.21 по 10.07.1. Успешность атаки зависит от адаптации полезной нагрузки под конкретное окружение.
Проверка операционных систем и условия эксплуатации
В ходе исследований специалисты протестировали десять различных сред на базе Linux, включая Debian, Ubuntu, Fedora, Alpine и AlmaLinux, а также официальный снимок Docker-образа WordPress. Во всех проверенных конфигурациях был обнаружен уязвимый код.
Испытания двух PoC-эксплойтов показали, что возможность триггера уязвимости напрямую зависит от целевой среды. В лабораторных условиях эксплойты запускались 10240 раз против стандартных пакетов Linux, но удаленного выполнения кода достичь не удалось. Тем не менее, на специально подготовленном тестовом сервере код выполнился успешно.
Практические prerequisites для WordPress
Добиться успеха при атаке на инфраструктуру WordPress позволяет сочетание четырех обязательных факторов:
- Злоумышленник получает возможность загрузить PDF-файл анонимно либо через учетную запись с низкими привилегиями.
- Сайт выполняет обработку загруженного документа для формирования миниатюры или превью.
- Цепочка обработки доходит до Ghostscript при наличии необходимых программных компонентов и настроек политик безопасности, разрешающих рендеринг PDF.
- Интерпретатор Ghostscript содержит уязвимый код декодирования без установленных обновлений безопасности.
В Wordfence отмечают, что стандартная конфигурация WordPress изначально не разрешает анонимные загрузки через медиабиблиотеку. В более широком смысле любое приложение, передающее предоставленные злоумышленником файлы PDF на рендеринг уязвимому интерпретатору, потенциально подвержено риску, а требования к аутентификации зависят от логики конкретного ПО.
Способы устранения уязвимости и меры защиты
Разработчики Artifex, поддерживающие проект Ghostscript, выпустили официальное исправление 8 сентября в версии интерпретатора 10.08.0. Патчи также были перенесены в виде обновлений для более ранних версий программного продукта.
Администраторам сайтов на WordPress необходимо убедиться через хостинг-провайдер, что версия Ghostscript на сервере обновлена до 10.08.0 или более поздней. При использовании контейнеров Docker рекомендуется пересобрать и развернуть затронутые сервисы на основе обновленных базовых образов.
Если обновление интерпретатора по каким-либо причинам невозможно, рекомендуется полностью заблокировать загрузку PDF-файлов на сервер или отключить функцию рендеринга PDF в настройках ImageMagick. На момент публикации отчета исследователи не зафиксировали случаев эксплуатации CVE-2026-39919 в реальных атаках.
