Dompdf — конвертер HTML в PDF для PHP. Версии 3.15 и более ранние уязвимы для атак типа «отказ в обслуживании» (DoS) из-за истощения ресурсов. Злоумышленник может привести к сбою процесса PHP, предоставив специально созданный HTML-документ, содержащий одно изображение огромных размеров (например, 30 000x30 000 пикселей).
Хотя Dompdf реализует внутренние проверки для проверки размеров изображения, их можно обойти, используя изображение с высокой энтропией (например, случайный шум), закодированное в Base64 и завернутое в определенные контейнеры CSS. Уязвимость существует, поскольку проверка размера происходит раньше, но выделение ресурсов для расчета ограничивающей рамки объекта и внутренних буферов на этапе рендеринга не ограничивает строго совокупное время ЦП или использование памяти для одного объекта, прошедшего первоначальную проверку. Удаленный злоумышленник, не прошедший проверку подлинности, может вызвать полный отказ в обслуживании на веб-сервере, отправив созданную строку HTML.
Это касается любого приложения, которое позволяет пользователям предоставлять содержимое HTML или URL-адреса, которые впоследствии преобразуются в PDF с помощью Dompdf. Эта проблема исправлена в версии 3.16.
Показать оригинальное описание (EN)
Dompdf is an HTML to PDF converter for PHP. Versions 3.15 and prior are vulnerable to a Denial of Service (DoS) attack via resource exhaustion. An attacker can crash the PHP process by providing a specially crafted HTML document containing a single image with massive dimensions (e.g., 30,000x30,000 pixels). While Dompdf implements internal checks to validate image dimensions, these can be bypassed by using a high-entropy image (such as random noise) encoded in Base64 and wrapped in specific CSS containers. The vulnerability exists because the dimension validation happens early, but the resource allocation for calculating the object's bounding box and internal buffers during the rendering phase does not strictly limit the cumulative CPU time or memory usage for a single object that has passed the initial check. An unauthenticated remote attacker can cause a complete Denial of Service on the web server by submitting a crafted HTML string. This affects any application that allows users to provide HTML content or URLs that are subsequently converted to PDF using Dompdf. This issue has been fixed in version 3.16.
Характеристики атаки
Последствия
Строка CVSS v4.0