Skip to main content
← All vulnerabilities
CVE-2026-112894GHSA-JG86-V3JV-HRPMBIT-PILLOW-2026-112894

Pillow: Quadratic-time DoS in PDF save_all (PdfParser.next_object_id)

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 13.0.0
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: poc
  • Automatable: yes
  • Technical impact: partial

Summary

Pillow is a Python imaging library. From 5.1.0 until 13.0.0, Pillow takes quadratic time to reserve PDF object identifiers when saving many frames with save_all enabled. PdfParser.next_object_id() repeatedly rebuilds and scans all previously reserved identifiers for every object. An attacker can supply a multi-frame image, including a small APNG with a large declared frame count, to an application that converts it to a multipage PDF. This can consume excessive CPU and deny service. This issue is fixed in version 13.0.0.

Timeline

  1. CVE published
  2. CISA SSVC assessment

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

  3. Record last updated
  4. First seen by cve.now

Affected versions

  • python-pillow Pillow

    From 5.1.0 · fixed in 13.0.0

  • pillowPyPI

    From 5.1.0 · fixed in 13.0.0

  • pillowBitnami

    From 5.1.0 · fixed in 13.0.0

References 3

GitHub · python-pillow/Pillow