CVE Catalog

CVE-2026-59941

HighCVSS 7.5
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.51%

41th percentile - higher than 41% of all known CVEs

Summary

In Dompdf versions 3.15 and prior, a BMP image is accepted and a PDF-compatible PNG is generated based only on its declared header dimensions, without bounding width × height before conversion via GD. A small BMP (58 bytes) with a header declaring e.g. 6000×6000 causes full pixel canvas allocation, leading to significant memory amplification (up to 12x). This issue is fixed in version 3.16.

Risk Assessment

An unauthenticated attacker can repeatedly send small HTTP requests, causing high memory and CPU load on the server, potentially leading to DoS or resource exhaustion.

Recommendation

Update Dompdf to version 3.16 or later.

Other vulnerabilities in Dompdf

See all
Original NVD description (English source)

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.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS