CVE-2026-112402
Pillow: Double free in ImagingScaleAffine on calloc failure via Image.transform
Impact
Pillow is a Python imaging library. Prior to 13.0.0, Pillow can double free image memory when ImagingScaleAffine encounters a selective allocation failure. The affected fast path handles Transform.EXTENT or pure scale-and-translate Transform.AFFINE operations with the default NEAREST resampling. The output image allocation must succeed while the additional per-column lookup allocation fails, after which the error path deletes image storage that later cleanup releases again. An attacker who can drive such a large Image.transform() operation under memory pressure may trigger the failure. This can crash the process and may corrupt memory. This issue is fixed in version 13.0.0.
Affected packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| pip | Pillow | <= 12.3.0 | 13.0.0 |
Affected products
| Vendor | Product | Affected versions |
|---|---|---|
| Python | Pillow | before 13.0.0 |
Weakness classification
References
- NVD record
- CVE.org record
- GitHub advisory
- https://github.com/advisories/GHSA-7mwm-ghpf-9vrm
- https://github.com/python-pillow/Pillow/security/advisories/GHSA-7mwm-ghpf-9vrm
- https://nvd.nist.gov/vuln/detail/CVE-2026-112402
- https://github.com/python-pillow/Pillow/commit/aafa6c75f7cdabb9f409a8aac7c780bea31d08d9
- https://github.com/python-pillow/Pillow/releases/tag/13.0.0