Skip to main content
← All vulnerabilities
CVE-2026-59941GHSA-8HG6-C449-896M

Dompdf: Uncontrolled resource consumption based on declared BMP dimensions

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 3.1.6
1 proof of concept on GitHub
  • Exploitation: poc
  • Automatable: no
  • Technical impact: partial

Summary

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.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: poc · Automatable: no · Technical impact: partial

  3. Record last updated

Affected versions

  • dompdf dompdf

    fixed in 3.1.6

  • dompdf/dompdfPackagist

    fixed in 3.1.6

References 4

GitHub · dompdf/dompdf

GitHub · far00t01/CVE-2026-59941