{"id":"CVE-2026-59941","summary":"Dompdf: Uncontrolled resource consumption based on declared BMP dimensions","details":"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.","aliases":["GHSA-8hg6-c449-896m"],"modified":"2026-08-01T03:32:57.091768803Z","published":"2026-07-28T20:42:57.010Z","database_specific":{"cna_assigner":"GitHub_M","cwe_ids":["CWE-400"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/59xxx/CVE-2026-59941.json"},"references":[{"type":"WEB","url":"https://github.com/dompdf/dompdf/releases/tag/v3.1.6"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/59xxx/CVE-2026-59941.json"},{"type":"ADVISORY","url":"https://github.com/dompdf/dompdf/security/advisories/GHSA-8hg6-c449-896m"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-59941"},{"type":"FIX","url":"https://github.com/dompdf/dompdf/commit/7c65e7bbeccf146b2409740405af73949ad129d0"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/dompdf/dompdf","events":[{"introduced":"0"},{"fixed":"7c65e7bbeccf146b2409740405af73949ad129d0"},{"fixed":"6d4b4eb8500f7a786da8868ba463a71b725a4005"}],"database_specific":{"extracted_events":[{"introduced":"0"},{"fixed":"3.1.6"}],"source":["AFFECTED_FIELD","REFERENCES"]}}],"versions":["v3.1.5","v3.1.4","v3.1.3","v3.1.2","v3.1.1","v3.1.0","v3.0.2","v3.0.1","v3.0.0","v2.0.3","v2.0.2","v2.0.1","v2.0.0","v1.2.2","v1.2.1","v1.2.0","v1.1.1","v1.1.0","v1.0.2","v1.0.1","v1.0.0","v0.8.6","v0.8.5","v0.8.4","v0.8.3","v0.8.2","v0.8.1","v0.8.0","v0.7.0","v0.7.0-beta3","v0.6.2","v0.6.1","v0.6.0","v0.6.0-b3"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-59941.json"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V4","score":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N"}]}