CVE-2026-112897 PUBLISHED

Pillow: TiffDecode returns uninitialized memory as pixels for short JPEG strips

Assigner: GitHub_M
Reserved: 19.10.2026 Published: 19.10.2026 Updated: 19.10.2026

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.

Metrics

CVSS Vector: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
CVSS Score: 8.7

Product Status

Vendor python-pillow
Product Pillow
Versions
  • Version >= 5.3.0, < 13.0.0 is affected

References

Problem Types

  • CWE-908: Use of Uninitialized Resource CWE