Vulnerability Details CVE-2026-59941
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.
Exploit prediction scoring system (EPSS) score
EPSS Score 0.005
EPSS Ranking 40.5%
CVSS Severity
CVSS v3 Score 7.5
Products affected by CVE-2026-59941
-
cpe:2.3:a:dompdf_project:dompdf:-
-
cpe:2.3:a:dompdf_project:dompdf:0.5.2
-
cpe:2.3:a:dompdf_project:dompdf:0.6.0
-
cpe:2.3:a:dompdf_project:dompdf:0.6.1
-
cpe:2.3:a:dompdf_project:dompdf:0.6.2
-
cpe:2.3:a:dompdf_project:dompdf:0.7.0
-
cpe:2.3:a:dompdf_project:dompdf:0.8.0
-
cpe:2.3:a:dompdf_project:dompdf:0.8.1
-
cpe:2.3:a:dompdf_project:dompdf:0.8.2
-
cpe:2.3:a:dompdf_project:dompdf:0.8.3
-
cpe:2.3:a:dompdf_project:dompdf:0.8.4
-
cpe:2.3:a:dompdf_project:dompdf:0.8.5
-
cpe:2.3:a:dompdf_project:dompdf:0.8.6
-
cpe:2.3:a:dompdf_project:dompdf:1.0.0
-
cpe:2.3:a:dompdf_project:dompdf:1.0.1
-
cpe:2.3:a:dompdf_project:dompdf:1.0.2
-
cpe:2.3:a:dompdf_project:dompdf:1.1.0
-
cpe:2.3:a:dompdf_project:dompdf:1.1.1
-
cpe:2.3:a:dompdf_project:dompdf:1.2.1
-
cpe:2.3:a:dompdf_project:dompdf:1.2.2
-
cpe:2.3:a:dompdf_project:dompdf:2.0.0
-
cpe:2.3:a:dompdf_project:dompdf:2.0.1
-
cpe:2.3:a:dompdf_project:dompdf:2.0.2
-
cpe:2.3:a:dompdf_project:dompdf:2.0.3
-
cpe:2.3:a:dompdf_project:dompdf:2.0.4
-
cpe:2.3:a:dompdf_project:dompdf:2.0.5
-
cpe:2.3:a:dompdf_project:dompdf:2.0.6
-
cpe:2.3:a:dompdf_project:dompdf:2.0.7
-
cpe:2.3:a:dompdf_project:dompdf:2.0.8
-
cpe:2.3:a:dompdf_project:dompdf:3.0.0
-
cpe:2.3:a:dompdf_project:dompdf:3.0.1
-
cpe:2.3:a:dompdf_project:dompdf:3.0.2
-
cpe:2.3:a:dompdf_project:dompdf:3.1.0
-
cpe:2.3:a:dompdf_project:dompdf:3.1.1
-
cpe:2.3:a:dompdf_project:dompdf:3.1.2
-
cpe:2.3:a:dompdf_project:dompdf:3.1.3
-
cpe:2.3:a:dompdf_project:dompdf:3.1.4
-
cpe:2.3:a:dompdf_project:dompdf:3.1.5