Skip to content
OpenAdvisories
Medium · 6.3 Public exploit CVE-2026-59941 EUVD-2026-50061GHSA-8hg6-c449-896m

Dompdf: Uncontrolled resource consumption based on declared BMP dimensions

Published Jul 28, 2026 · Updated Jul 29, 2026 · Assigned by GitHub_M

Description

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.

Affected products

VendorProductAffectedFixed
dompdf dompdf < 3.1.6 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 12 php-dompdf No fix yet —
ReleasePackageFixed inAdvisory
Ubuntu 22.04 LTS php-dompdf No fix yet —
Ubuntu 20.04 LTS php-dompdf No fix yet —
Show 2 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu Pro 18.04 LTS php-dompdf No fix yet —
Ubuntu Pro 16.04 LTS php-dompdf No fix yet —

Public exploits

Exploit or proof-of-concept code for this vulnerability is publicly available, which lowers the bar for attackers. Treat it as a reason to patch sooner.

Third-party code, not reviewed by us. Public PoCs are sometimes fake or contain malware. Read the code first and run it only in an isolated lab, against systems you are authorised to test.

GitHub 1 repository

  • far00t01/CVE-2026-59941 ★ 0 · Aug 2, 2026

    Dompdf: Denial of Service (DoS) via Resource Exhaustion using Oversized Image Bitmaps

Sources: PoC-in-GitHub, Metasploit Framework, Exploit-DB — updated daily. Only links are listed; no exploit code is hosted here.

Affected packages

EcosystemPackageAffectedFixedRecord
Packagist dompdf/dompdf < 3.1.6 3.1.6 GHSA-8hg6-c449-896m

References