What’s Vulnerable › Vulnerabilities
CVE-2026-114501: Pillow: Arrow export leaks stale heap memory when PILLOW_ALIGNMENT > 1
- Severity: medium (CVSS 5.3 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.5% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2026-10-21 · updated 2026-10-30
- Weakness: CWE-226
Description
Pillow is a Python imaging library. From 11.2.1 until 13.0.0, Arrow export assumes that an image's rows are tightly contiguous and exports from im->blocks[0].ptr even when PILLOW_ALIGNMENT makes aligned_linesize include row padding or an aligned offset before the first row. The resulting Arrow buffer can include uninitialized padding, bytes preceding the first row, or stale heap contents from previously freed images. Applications that configure alignment and export images to Arrow can therefore disclose one user's pixels or other process memory to another user. This issue is fixed in version 13.0.0.
Affected products
- python-pillow Pillow: from 11.2.1 before 13.0.0 — fixed in 13.0.0
- python-pillow Pillow: from 11.2.1, < 13.0.0
How to fix
Upgrade to a fixed version: python-pillow Pillow 13.0.0. Check the vendor advisory for mitigations.
References
- https://github.com/python-pillow/Pillow/commit/19f64946eb247b973dd4560be7dea3bf979d2e6a
- https://github.com/python-pillow/Pillow/pull/10172
- https://github.com/python-pillow/Pillow/releases/tag/13.0.0
- https://github.com/python-pillow/Pillow/security/advisories/GHSA-654x-cwwv-5j9c
- https://github.com/python-pillow/Pillow/security/advisories/GHSA-654x-cwwv-5j9c
Get alerted when CVE-2026-114501 or the next vulnerability affects your stack