CVE-2026-112395: Pillow tiled-TIFF decoder reads past tile buffer in copy4 (Unpack.c:1290)
Pillow is a Python imaging library. From 8.2.0 until 13.0.0, Pillow's tiled-TIFF decoder can read past the tile buffer while copying four-byte pixels. In decodeTile, libtiff can return a tile allocation smaller than the required row stride multiplied by the tile length, and Pillow's stride-and-copy loop walks beyond that allocation. An attacker can supply a crafted tiled TIFF to an application that loads it. This can expose adjacent heap data in pixels or crash the process. This issue is fixed in version 13.0.0.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
Pillowto a version that resolves this vulnerability.Fixed in 13.0.0
Event History
Frequently Asked Questions
Which deployments are exposed to this issue?
Applications using Pillow versions from 8.2.0 up to, but not including, 13.0.0 are affected when they load tiled TIFF images. The issue is triggered during decoding of attacker-supplied tiled TIFF content.
What does an attacker need to exploit it?
An attacker needs to provide a crafted tiled TIFF file to an application that loads it with Pillow. No privileges or user interaction are required according to the supplied vector.
What is the potential impact?
The out-of-bounds read can expose adjacent heap data through decoded pixels or crash the process. The provided severity vector indicates low confidentiality and availability impact, with no integrity impact.
How should this be remediated?
Upgrade Pillow to version 13.0.0, which fixes the issue. If an upgrade cannot happen immediately, avoid processing untrusted tiled TIFF files.