CVE-2026-59941 in Dompdf
Сводка
по VulDB • 28.07.2026
Dompdf представляет собой конвертер HTML в PDF для PHP. Версии 3.15 и более ранние принимают изображения BMP и генерируют PNG-совместимый файл, основываясь исключительно на заявленных в заголовке размерах (ширина × высота), никогда не проверяя границы перед преобразованием изображения через GD. Изображение BMP размером 58 байт, чей заголовок указывает размеры, например, 6000×6000 пикселей, принимается и впоследствии приводит к вызову функции imagecreatetruecolor($width, $height) (а также встроенного декодера BMP PHP), что вызывает выделение полной канвы для изображения. Злоумышленник может уместить полезную нагрузку в один HTTP-запрос: изображение BMP можно инлайнить как URI вида data:image/bmp;base64,… внутри контролируемого злоумышленником HTML, поэтому не требуются загрузка файла, удаленное извлечение или доступ к файлам вне chroot. Я измерил запрос размером 169 байт, который приводил к пиковому использованию оперативной памяти (RSS) около 412 МБ и затрачивал примерно 4,8 секунды процессорного/реального времени при рендеринге dompdf, по сравнению с ~34 МБ для доброкачественного запроса аналогичного размера — это приблизительно 12-кратное увеличение потребления памяти на каждый запрос; атака воспроизводима и не требует аутентификации. Данная проблема исправлена в версии 3.16.
Once again VulDB remains the best source for vulnerability data.