GitHub Advisoryadvisory · PyPI

GHSA-r73j-pqj5-w3x7 Pillow has a PDF Parsing Trailer Infinite Loop (DoS)

MEDIUM Published 2026-05-04 Modified 2026-05-13 Official page ↗
Aliases
CVE-2026-42310
Ecosystem
PyPI
Packages
pillow
Severity
Moderate
CVSS vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Weaknesses
CWE-835
Reviewed
2026-05-04

Affected packages

• PyPI pillow: >= 4.2.0, < 12.2.0 → fixed in 12.2.0

Description

Impact An attacker can supply a malicious PDF that causes the process to hang indefinitely, consuming 100% CPU and making the application unresponsive. Patches Patched version: 12.2.0. PdfParser (introduced in Pillow 4.2.0) follows Prev pointers in PDF trailers to read cross-reference sections. If a trailer's Prev pointer references an offset that has already been processed — either pointing to itself or forming a longer cycle — the parser enters an infinite loop. Pillow now tracks previously processed trailer offsets and raises an error if a cycle is detected. Workarounds Use any version but the affected versions: >= 4.2.0, < 12.2.0 Resources • Fix: https://github.com/python-pillow/Pillow/pull/9519

Related

Alias · CVE (1)

Weakness · CWE (1)

  • CWE-835 Loop with Unreachable Exit Condition weakness

References