high7.5
CVE-2026-112399
Pillow: APNG background disposal allocates full canvas before decompression bomb check
Impact
Pillow is a Python imaging library. From 8.1.0 until 13.0.0, Pillow can allocate an APNG disposal background at the full canvas size before applying the decompression-bomb check. A crafted APNG with a small first frame, a very large declared canvas, and background disposal or first-frame OP_PREVIOUS reaches PngImageFile._seek while Image.open() positions frame zero. The full-canvas allocation occurs inside Image.open() without requiring pixel loading or frame iteration. This can exhaust memory and deny service. This issue is fixed in version 13.0.0.
Affected packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| pip | Pillow | >= 8.1.0, < 13.0.0 | 13.0.0 |
Affected products
| Vendor | Product | Affected versions |
|---|---|---|
| Python | Pillow | from 8.1.0 before 13.0.0 |
Weakness classification
References
- NVD record
- CVE.org record
- GitHub advisory
- https://github.com/advisories/GHSA-5xm2-6676-qcp9
- https://github.com/python-pillow/Pillow/security/advisories/GHSA-5xm2-6676-qcp9
- https://nvd.nist.gov/vuln/detail/CVE-2026-112399
- https://github.com/python-pillow/Pillow/commit/f1acfc54c53502948d0d14121872061df931db48
- https://github.com/python-pillow/Pillow/releases/tag/13.0.0