Skip to content
Heist/ feed
Back to feed
Medium

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

Type: advisorySources: OSV

Dompdf is an HTML to PDF converter for PHP. Versions 3.15 and prior are vulnerable to a Denial of Service (DoS) attack via resource exhaustion. An attacker can crash the PHP process by providing a specially crafted HTML document containing a single image with massive dimensions (e.g., 30,000x30,000 pixels). While Dompdf implements internal checks to validate image dimensions, these can be bypassed by using a high-entropy image (such as random noise) encoded in Base64 and wrapped in specific CSS containers. The vulnerability exists because the dimension validation happens early, but the resource allocation for calculating the object's bounding box and internal buffers during the rendering phase does not strictly limit the cumulative CPU time or memory usage for a single object that has passed the initial check. An unauthenticated remote attacker can cause a complete Denial of Service on the web server by submitting a crafted HTML string. This affects any application that allows users to provide HTML content or URLs that are subsequently converted to PDF using Dompdf. This issue has been fixed in version 3.16.

Products
Not specified
Affected versions
Not specified
Fixed versions
Not specified
CVEs
CVE-2026-59942
Confirmed fixed CVEs
Not specified
Updated in this feed
3 Nov 2026, 00:55 UTC · Revision 1

Source evidence

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

core-osv · Original source

Published 28 Jul 2026, 20:41 UTC

Dompdf is an HTML to PDF converter for PHP. Versions 3.15 and prior are vulnerable to a Denial of Service (DoS) attack via resource exhaustion. An attacker can crash the PHP process by providing a specially crafted HTML document containing a single image with massive dimensions (e.g., 30,000x30,000 pixels). While Dompdf implements internal checks to validate image dimensions, these can be bypassed by using a high-entropy image (such as random noise) encoded in Base64 and wrapped in specific CSS containers. The vulnerability exists because the dimension validation happens early, but the resource allocation for calculating the object's bounding box and internal buffers during the rendering phase does not strictly limit the cumulative CPU time or memory usage for a single object that has passed the initial check. An unauthenticated remote attacker can cause a complete Denial of Service on the web server by submitting a crafted HTML string. This affects any application that allows users to provide HTML content or URLs that are subsequently converted to PDF using Dompdf. This issue has been fixed in version 3.16.

osv:CVE-2026-59942
Complete source record
{
  "id": "fa7bbb354aaa4c9314f0a3a1dd4112926c8e9cbf9425c59cf3fc55f1844ebe00",
  "url": "https://osv.dev/vulnerability/CVE-2026-59942",
  "method": "structured",
  "payload": {
    "kind": "advisory",
    "title": "Dompdf: Denial of Service (DoS) via Resource Exhaustion using Oversized Image Bitmaps",
    "summary": "Dompdf is an HTML to PDF converter for PHP. Versions 3.15 and prior are vulnerable to a Denial of Service (DoS) attack via resource exhaustion. An attacker can crash the PHP process by providing a specially crafted HTML document containing a single image with massive dimensions (e.g., 30,000x30,000 pixels). While Dompdf implements internal checks to validate image dimensions, these can be bypassed by using a high-entropy image (such as random noise) encoded in Base64 and wrapped in specific CSS containers. The vulnerability exists because the dimension validation happens early, but the resource allocation for calculating the object's bounding box and internal buffers during the rendering phase does not strictly limit the cumulative CPU time or memory usage for a single object that has passed the initial check. An unauthenticated remote attacker can cause a complete Denial of Service on the web server by submitting a crafted HTML string. This affects any application that allows users to provide HTML content or URLs that are subsequently converted to PDF using Dompdf. This issue has been fixed in version 3.16.",
    "evidence": "osv:CVE-2026-59942",
    "products": [],
    "severity": "medium",
    "structured": {
      "id": "CVE-2026-59942",
      "aliases": [
        "CVE-2026-59942",
        "GHSA-f5gf-2cj8-52g2"
      ],
      "metrics": [
        {
          "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"
        }
      ],
      "affected": [
        {
          "ranges": [
            {
              "repo": "https://github.com/dompdf/dompdf",
              "type": "GIT",
              "events": [
                {
                  "introduced": "0"
                },
                {
                  "fixed": "6d4b4eb8500f7a786da8868ba463a71b725a4005"
                },
                {
                  "fixed": "7c65e7bbeccf146b2409740405af73949ad129d0"
                },
                {
                  "fixed": "89164eaabe0bb50c462f0b24f740044ba5fb0f99"
                }
              ],
              "database_specific": {
                "extracted_events": [
                  {
                    "cpe": "cpe:2.3:a:dompdf_project:dompdf:*:*:*:*:*:*:*:*",
                    "range": [
                      {
                        "introduced": "0"
                      },
                      {
                        "fixed": "3.1.6"
                      }
                    ],
                    "source": "CPE_RANGE"
                  },
                  {
                    "range": [
                      {
                        "fixed": "7c65e7bbeccf146b2409740405af73949ad129d0"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "89164eaabe0bb50c462f0b24f740044ba5fb0f99"
                      }
                    ],
                    "source": "REFERENCES_COMMIT"
                  },
                  {
                    "range": [
                      {
                        "fixed": "6d4b4eb8500f7a786da8868ba463a71b725a4005"
                      }
                    ],
                    "source": "REFERENCES_TAG",
                    "original_tag": "v3.1.6"
                  }
                ]
              }
            }
          ],
          "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-59942.json"
          }
        }
      ],
      "modified": "2026-10-28T02:30:24.730438710Z",
      "provider": "osv",
      "references": [
        "https://github.com/dompdf/dompdf/releases/tag/v3.1.6",
        "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/59xxx/CVE-2026-59942.json",
        "https://github.com/dompdf/dompdf/security/advisories/GHSA-f5gf-2cj8-52g2",
        "https://nvd.nist.gov/vuln/detail/CVE-2026-59942",
        "https://github.com/dompdf/dompdf/commit/7c65e7bbeccf146b2409740405af73949ad129d0",
        "https://github.com/dompdf/dompdf/commit/89164eaabe0bb50c462f0b24f740044ba5fb0f99"
      ],
      "provider_metadata": {
        "cwe_ids": [
          "CWE-400"
        ],
        "cna_assigner": "GitHub_M",
        "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/59xxx/CVE-2026-59942.json"
      }
    },
    "related_cves": [
      {
        "value": "CVE-2026-59942",
        "evidence": "/id"
      }
    ],
    "security_relevant": true,
    "severity_evidence": "/severity/0/score"
  },
  "source_id": "core-osv",
  "document_id": 491352,
  "published_at": "2026-07-28T20:41:02.553+00:00"
}