# CVE-2026-112396: Pillow heap use-after-free in TIFF encoding

Source: https://junglewise.ai/threats/cve-2026-112396-pillow-is-a-python-imaging-library-from-11-3-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-112396 · Severity: medium · CVSS 5.9 · Published 2026-10-19

Pillow is a Python image processing library used by web applications and data processing tools to manipulate graphics files. A flaw in TIFF file encoding can cause the application to crash or potentially execute arbitrary code when processing specially crafted TIFF tags. An attacker who can supply malicious TIFF data to an application using Pillow could trigger this vulnerability by saving the data to memory.

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-112396 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-112396 being exploited in the wild.

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

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

**Is there a fix for CVE-2026-112396?** 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-112396 attacked?** It is attacked over the network, in a software library.

**Am I affected by CVE-2026-112396?** 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"
  ```


## Technical details

The vulnerability is a heap use-after-free in ImagingLibTiffEncode when libtiff rejects a tag during TIFF encoding to a BytesIO buffer. The error path frees the output buffer without properly closing the TIFF handle; subsequent cleanup flushes through the write callback into freed memory. This occurs during the encoding phase and requires an application to attempt saving attacker-controlled TIFF tag data.

## Affected products

- Python Pillow Pillow 11.3.0 to 12.3.0

## Identifiers

- CVE-2026-112396
- BIT-PILLOW-2026-112396
- GHSA-4rr5-89j8-mwwm
- PYSEC-2026-4328

## Timeline

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

## References

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