Reference page — cumulative record through Wednesday, August 19, 2026 UTC. Reference pages update as the archive grows; only dated daily editions are immutable pages of record.
python-pillow Pillow — Pillow: Heap out-of-bounds write in Pillow `ImageFilter.RankFilter` via integer overflow in `ImagingExpand`
AV AC PR UI S C I A CVSS EPSS %ile KEV
N L N N U N L H 8.2 .0044 36.5 —
AFFECTED
Product Versions Fixed
Pillow < 12.3.0 – —
TIMELINE
Jul 2 Reserved by GitHub_M
Jul 14 EXPLOIT PUBLISHED — CVE-2026-59197 (python-pillow Pillow). Public exploit reference added.
Jul 14 Published (CNA: GitHub_M)
Jul 21 EXPLOIT PUBLISHED — CVE-2026-59197 (python-pillow Pillow). Public exploit reference added.
Description
Pillow is a Python imaging library. Prior to 12.3.0, Pillow's public rank-filter API can trigger a native heap out-of-bounds write when given a very large odd filter size because ImageFilter.RankFilter.filter() calls image.expand(size // 2, size // 2) before rank-filter size validation and ImagingExpand() computes output dimensions with unchecked signed int arithmetic. This issue is fixed in version 12.3.0.
Lifecycle
Complete event history — 4 events, chronological
| Date | Event | Detail |
| July 2, 2026 | Reserved | Reserved by GitHub_M |
| July 14, 2026 | EXPLOIT PUBLISHED | EXPLOIT PUBLISHED — CVE-2026-59197 (python-pillow Pillow). Public exploit reference added. |
| July 14, 2026 | Published | Published (CNA: GitHub_M) |
| July 21, 2026 | EXPLOIT PUBLISHED | EXPLOIT PUBLISHED — CVE-2026-59197 (python-pillow Pillow). Public exploit reference added. |
Affected
Affected products and packages — 1 row
| Vendor | Product / Package | Ecosystem | Version introduced | Fixed |
| python-pillow | Pillow | — | < 12.3.0 | — |
About this page
This is a reference page, not a dated page of record. It assembles the complete lifecycle of CVE-2026-59197 from the CVE Program record, NVD enrichment, the CISA KEV catalog, EPSS, and OSV advisories. The box score's numbers (CVSS, EPSS, KEV status) are current as of Wednesday, August 19, 2026 UTC and are re-derived as the archive grows; only dated daily editions are immutable pages of record. The authoritative source for this identifier is cve.org.