# CVE-2026-112391: Pillow infinite recursion in PDF parser

Source: https://junglewise.ai/threats/cve-2026-112391-pillow-is-a-python-imaging-library-from-5-1-0-until-13-0-0  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-10-19. Updated: 2026-10-19  
License: CC BY 4.0 with a link back

CVE-2026-112391 · Severity: medium · CVSS 4 · Published 2026-10-19

Pillow is a Python library for processing images, including saving them in PDF format. Attackers can craft malicious PDF files with deeply nested objects that cause the parser to recurse without limit, crashing applications that process them and resulting in denial of service.

Technologies: [pillow (PyPI)](https://junglewise.ai/threats/technologies/pillow), [Python Pillow Pillow](https://junglewise.ai/threats/technologies/python-pillow-pillow). Vendors: [PyPI](https://junglewise.ai/threats/vendors/pypi), [Python Pillow](https://junglewise.ai/threats/vendors/python-pillow).

## Quick answers

**Is CVE-2026-112391 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-112391 being exploited in the wild.

**How severe is CVE-2026-112391?** Medium severity, with a CVSS score of 4, published 19 October 2026.

**Which products and versions are affected?** pillow (PyPI) >= 5.1.0, < 13.0.0, ECOSYSTEM:introduced=5.1.0,fixed=13.0.0; Python Pillow Pillow 5.1.0 to 12.x.

**Is there a fix for CVE-2026-112391?** Yes. pillow (PyPI): upgrade to 13.0.0 or later. Until then: Set a maximum nesting limit in PdfParser configuration to restrict recursion depth and prevent processing of excessively nested PDF structures. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-112391 attacked?** It is attacked over the network, in a software library.

**Am I affected by CVE-2026-112391?** Check whether you run pillow (PyPI) or Python Pillow Pillow at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## How to fix

- pillow (PyPI): upgrade to 13.0.0 or later

  ```sh
  pip install "pillow>=13.0.0"
  ```


Set a maximum nesting limit in PdfParser configuration to restrict recursion depth and prevent processing of excessively nested PDF structures.

## Technical details

The PdfParser.get_value() function in Pillow versions 5.1.0 through 12.x lacks recursion depth limits when parsing nested PDF objects and dictionaries. An attacker can trigger unbounded recursion by providing a specially crafted PDF with excessive nesting, particularly when a PDF is opened for append operations. This causes an uncaught RecursionError that terminates the application process.

## Affected products

- python-pillow Pillow 5.1.0 to 12.x

## Identifiers

- CVE-2026-112391
- GHSA-254f-3936-288h

## Timeline

- 2026-10-19: disclosed

## References

- [https://github.com/python-pillow/Pillow/commit/94cb11c44ff7345414da17ebfea1598a529ad9cd](https://github.com/python-pillow/Pillow/commit/94cb11c44ff7345414da17ebfea1598a529ad9cd)
- [https://github.com/python-pillow/Pillow/releases/tag/13.0.0](https://github.com/python-pillow/Pillow/releases/tag/13.0.0)

## Related threats

- [Pillow heap buffer overflow in TIFF encoder with mismatched geometry tags](https://junglewise.ai/threats/cve-2026-128067-pillow-heap-buffer-overflow-saving-tiff-with-libtiff-when-tags)
- [Pillow memory denial of service in TIFF and EXIF parsing](https://junglewise.ai/threats/cve-2026-128066-pillow-memory-dos-in-tiff-and-exif-ifd-parsing-via-overlapping)
- [Pillow libtiff encoder memory disclosure and crash via crafted TIFF tags](https://junglewise.ai/threats/cve-2026-112902-pillow-memory-disclosure-and-segfault-in-libtiff-encoder-via)
- [Pillow EPS load decompression bomb check bypass in Ghostscript scaling](https://junglewise.ai/threats/cve-2026-112899-pillow-eps-load-scale-lets-ghostscript-render-past-the)
- [Pillow heap buffer overflow in bundled libopenjp2](https://junglewise.ai/threats/pillow-bundled-libopenjp2-2-5-4-in-all-wheels-since-11-1-0-carries-osv-cd00a842)
