CVE-2026-112398: Pillow FlashPix JPEG-tile decoder heap overflow

CVE-2026-112398 · Severity: critical · CVSS 4 · Published 2026-10-19

Pillow is a widely-used Python library for opening, manipulating, and saving image files. The FlashPix image format decoder in Pillow prior to version 13.0.0 contains a heap buffer overflow that can occur when processing specially crafted image files. An attacker can exploit this by providing a malicious FlashPix file to an application that uses Pillow to open or generate thumbnails, potentially leading to data corruption, application crashes, or arbitrary code execution.

Technologies: pillow (PyPI), Python Pillow Pillow. Vendors: PyPI, Python Pillow.

Quick answers

Is CVE-2026-112398 exploited in the wild?
No. Junglewise Threat Intelligence has no report of CVE-2026-112398 being exploited in the wild.
How severe is CVE-2026-112398?
Critical severity, with a CVSS score of 4, published 19 October 2026.
Which products and versions are affected?
pillow (PyPI) <= 12.3.0, ECOSYSTEM:introduced=0,fixed=13.0.0; Python Pillow Pillow before 13.0.0.
Is there a fix for CVE-2026-112398?
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-112398 attacked?
It is attacked over the network, in a software library.
Am I affected by CVE-2026-112398?
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
    pip install "pillow>=13.0.0"

Technical details

The vulnerability exists in Pillow's FlashPix JPEG-tile decoder, where the decoder selects raw mode LA (two bytes per pixel) but can process an unrecognized JPEG mode as JCS_UNKNOWN with four components. This causes ImagingJpegDecode to write four-byte scanlines into a two-byte tile buffer, resulting in a heap buffer overflow. The attack requires an OLE2 FlashPix file and the optional olefile dependency to be installed; exploitation occurs when an untrusted image is opened or a thumbnail is generated.

Affected products

  • python-pillow Pillow before 13.0.0

Identifiers

  • CVE-2026-112398
  • BIT-PILLOW-2026-112398
  • GHSA-5x8w-8jj5-q52h
  • PYSEC-2026-4330

Timeline

  • 2026-10-19: disclosed
  • 2026-10-16: patched: Fix released in version 13.0.0

References

This page as Markdown. Free to reuse under CC BY 4.0 with a link back.