Description
Pillow is a Python imaging library. From 2.3.0 through 12.3.0, Pillow applications that save compressed TIFF images through libtiff can pass attacker-controlled image geometry tags to the encoder while allocating its row buffer from the actual image dimensions. The affected TiffImagePlugin._save path allows ImageWidth, ImageLength, or SamplesPerPixel from exif=, tiffinfo=, or a source TIFF IFD to make libtiff consume a larger scanline than the buffer supplied by ImagingLibTiffEncode. This can read heap memory into the generated TIFF or crash the process. When TIFF Predictor 2 is enabled, libtiff can rewrite the oversized scanline in place and corrupt memory beyond the buffer. A carried-over PlanarConfiguration value of 2 instead makes libtiff use a shorter scanline and can produce an undecodable output file, but is not established to cause the out-of-bounds access. This issue is fixed in version 13.0.0.
Affected products
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| python-pillow | Pillow | >= 2.3.0, < 13.0.0 | — |
Fixed in Linux distributions
Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu 26.10 | pillow | No fix yet | — |
| Ubuntu 26.04 LTS | pillow | No fix yet | — |
| Ubuntu 24.04 LTS | pillow | No fix yet | — |
| Ubuntu 22.04 LTS | pillow | No fix yet | — |
Show 4 more (older releases, extended support, other products)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Ubuntu Pro 20.04 LTS | pillow +1 | No fix yet | — |
| Ubuntu Pro 18.04 LTS | pillow | No fix yet | — |
| Ubuntu Pro 16.04 LTS | pillow | No fix yet | — |
| Ubuntu Pro 14.04 LTS | pillow | No fix yet | — |
Wolfi
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Wolfi rolling | open-webui | No fix yet | — |
Affected packages
| Ecosystem | Package | Affected | Fixed | Record |
|---|---|---|---|---|
| PyPI | pillow | < 13.0.0 | 13.0.0 | GHSA-xcvg-w56q-r89m |
References
- https://github.com/python-pillow/Pillow/security/advisories/GHSA-xcvg-w56q-r89m
- https://github.com/python-pillow/Pillow/commit/53318b50e8e9e85a57d033d4d879e1398d97aeb1
- https://github.com/python-pillow/Pillow/commit/ec5f1cbcf67275641abaad5c065ffb64a0a804a9
- https://github.com/python-pillow/Pillow/releases/tag/13.0.0