Ad

CVE-2026-59941

MEDIUM CVSS 4.0: 6,3
Обновлено 29 июля 2026
Dompdf
Параметр Значение
CVSS 6,3 (MEDIUM)
Устранено в версии 3.16
Тип уязвимости CWE-400 (Неконтролируемое потребление ресурсов)
Поставщик Dompdf
Публичный эксплойт Нет

Dompdf — конвертер HTML в PDF для PHP. Версии 3.15 и более ранние принимают изображение BMP и создают PDF-совместимый PNG на основе только заявленных размеров заголовка и никогда не ограничивают ширину × высоту до преобразования изображения через GD. 58-байтовый BMP, заголовок которого объявляет, например. Размер 6000×6000 принимается, а позже используется imagecreatetruecolor($width, $height) (и собственный декодер BMP PHP) для выделения всего пиксельного холста.

Полезная нагрузка может поместиться в один HTTP-запрос: BMP может быть встроен как data:image/bmp;base64,… URI внутри контролируемого злоумышленником HTML, поэтому не требуется ни загрузка, ни удаленное извлечение, ни файл, доступный через chroot. Я измерил 169-байтовый запрос, приводящий к рендерингу dompdf до ~412 МБ пикового RSS и ~4,8 с времени процессора/стены по сравнению с ~34 МБ для безобидного запроса идентичного размера — примерно 12-кратное увеличение памяти на запрос, повторяемый и неаутентифицированный. Эта проблема исправлена ​​в версии 3.16.

Показать оригинальное описание (EN)

Dompdf is an HTML to PDF converter for PHP. Versions 3.15 and prior accept a BMP image and generates a PDF-compatible PNG based only on its declared header dimensions and never bounds width × height before the image is converted through GD. A 58-byte BMP whose header declares e.g. 6000×6000 is accepted and later drives imagecreatetruecolor($width, $height) (and PHP's native BMP decoder) to allocate the full pixel canvas. A payload can fit in a single HTTP request: the BMP can be inlined as a data:image/bmp;base64,… URI inside attacker-controlled HTML, so no upload, no remote fetch, and no chroot-reachable file is required. I measured a 169-byte request driving a dompdf render to ~412 MB peak RSS and ~4.8 s of CPU/wall time, versus ~34 MB for an identically-sized benign request — roughly a 12× memory amplification per request, repeatable and unauthenticated. This issue has been fixed in version 3.16.

Характеристики атаки

Способ атаки
По сети
Атака возможна удалённо
Сложность
Низкая
Легко эксплуатировать
Условия для атаки
Требуются
Нужны дополнительные условия
Нужны права
Не требуются
Права не нужны
Участие пользователя
Не требуется
Не нужно действие пользователя

Последствия

Конфиденциальность
Нет
Нет утечки данных
Целостность
Нет
Нет модификации данных
Доступность
Низкое
Частичное нарушение работы

Строка CVSS v4.0

Уязвимые продукты

dompdf:dompdf