What’s Vulnerable › Vulnerabilities
CVE-2026-112897: Pillow: TiffDecode returns uninitialized memory as pixels for short JPEG strips
- Severity: medium (CVSS 6.2 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.5% probability of exploitation in the next 30 days
- Public exploit or detection template: yes
- Published: 2026-10-19 · updated 2026-10-27
- Weakness: CWE-908
Description
Pillow is a Python imaging library. From 5.3.0 until 13.0.0, Pillow can return uninitialized memory as pixels when libtiff performs a short decode of JPEG-compressed or Group 4 fax TIFF data. The _decodeStrip and _decodeTile buffers can be larger than the bytes written by libtiff, but Pillow converts the expected rows without clearing the unwritten tail. The tile path is affected from 5.3.0 and the strip path from 6.0.0. An attacker can supply a crafted TIFF to an application that loads and returns or re-encodes its pixels. This can disclose stale heap contents without memory corruption or a process crash. This issue is fixed in version 13.0.0.
Affected products
- python-pillow Pillow: from 5.3.0 before 13.0.0 — fixed in 13.0.0
- Pypi Pillow: from 5.3.0 before 13.0.0; 10.0.0, 10.0.1, 10.1.0, 10.2.0, 10.3.0, 10.4.0 (+41) — fixed in 13.0.0
- python-pillow Pillow: from 5.3.0, < 13.0.0
How to fix
Upgrade to a fixed version: python-pillow Pillow 13.0.0; Pypi Pillow 13.0.0. Check the vendor advisory for mitigations.
References
- https://github.com/python-pillow/Pillow/commit/1d4773e6cea0c4a2814e6d4cdc099bbcf56da6ce
- https://github.com/python-pillow/Pillow/releases/tag/13.0.0
- https://github.com/python-pillow/Pillow/security/advisories/GHSA-q45j-58j2-45rg
- https://github.com/python-pillow/Pillow/security/advisories/GHSA-q45j-58j2-45rg
Get alerted when CVE-2026-112897 or the next vulnerability affects your stack