# CVE-2026-112895: Pillow PDF parser resource exhaustion in append operation

Source: https://junglewise.ai/threats/cve-2026-112895-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-112895 · Severity: high · CVSS 4 · Published 2026-10-19

Pillow is a Python image processing library widely used by web applications and data processing tools. A flaw in its PDF handling allows attackers to supply malicious PDF files that cause applications to crash or hang when appending to PDFs, either through excessive memory consumption, CPU usage, or stack overflow. An attacker can weaponize this as a denial-of-service attack against any application accepting user-supplied PDFs.

Technologies: [pillow (PyPI)](https://junglewise.ai/threats/technologies/pillow). Vendors: [PyPI](https://junglewise.ai/threats/vendors/pypi).

## Quick answers

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

**How severe is CVE-2026-112895?** High 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 Imaging Library (PIL/Pillow) Pillow 5.1.0 to 12.x.x (before 13.0.0).

**Is there a fix for CVE-2026-112895?** Yes. pillow (PyPI): upgrade to 13.0.0 or later. Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

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

**Am I affected by CVE-2026-112895?** Check whether you run pillow (PyPI) or Python Imaging Library (PIL/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"
  ```


## Technical details

The PdfParser component lacks cycle detection and proper duplication tracking when traversing PDF page-tree references and trailer chains. Attackers can construct PDFs with deeply nested or cyclic page trees, long chains of unique trailer offsets, or repeated non-cyclic /Kids references that trigger unbounded recursion or super-linear resource consumption. The vulnerability is triggered when Image.save() is called with PDF append mode enabled on a crafted PDF, raising an uncaught RecursionError or exhausting memory and CPU before completion.

## Affected products

- Python Imaging Library (PIL/Pillow) Pillow 5.1.0 to 12.x.x (before 13.0.0)

## Identifiers

- CVE-2026-112895
- GHSA-p4wg-p73j-c528

## Timeline

- 2026-10-19: disclosed
- 2026-10-16: patched: Fixed in version 13.0.0

## References

- [https://github.com/python-pillow/Pillow/commit/e2ae7eacad6de68c37eb28b633a97bebacf2c5bf](https://github.com/python-pillow/Pillow/commit/e2ae7eacad6de68c37eb28b633a97bebacf2c5bf)
- [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)
