Ad · Leaderboard 728×90

CVE-2026-112406

8.7High

Published 19 Oct 2026 · NVD status: Received · AI triage by gemini-3.8-flash

8.7High
Attack vector
Network
Complexity
Low
Privileges needed
None
User interaction
None
Impact
High impact on availability
Weakness
CWE-835

Impact

Remote, unauthenticated attackers can cause a permanent denial of service by exhausting worker CPU capacity. They only need to supply a crafted PDF to an endpoint that appends images to PDFs using Pillow.

Root cause

PdfParser.rewrite_pages() follows Parent relationships without detecting cycles in the page tree, triggering an infinite loop.

Affected systems

Pillow 5.1.0 through 12.x (fixed in 13.0.0)

CVSS v4.0 · CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X

Fix & remediation

Upgrade Pillow to version 13.0.0 or later. If upgrading immediately is not possible, reject or sanitize untrusted PDF uploads before passing them to Pillow for image appending.

shell
$ pip install --upgrade 'pillow>=13.0.0'

AI-suggested. Run it in staging first and check it against the vendor advisory. Why?

Ad · In-content banner

NVD description

Pillow is a Python imaging library. From 5.1.0 until 13.0.0, Pillow can enter an infinite loop while rewriting PDF pages. PdfParser.rewrite_pages() follows Parent relationships without detecting a cycle in the page tree. An attacker can supply a cyclic PDF to an application that appends an image to that PDF. This can hold the worker at full CPU and deny service. This issue is fixed in version 13.0.0.

References

Source: nvd.nist.gov/vuln/detail/CVE-2026-112406

Ad · Sticky 320×50 / 728×90