Out-of-bounds Read in Python Pillow
CVE-2026-54058
Pillow is a Python imaging library. Prior to 12.3.0, when Pillow loads an uncompressed McIdas AREA image from a filename through the mmap raw codec path, attacker-controlled header words can set a row stride smaller than the natural row width, causing pixel access such as Image.tobytes(), getpixel, convert, or save to read beyond the mapped region and disclose adjacent process memory or fault. This issue is fixed in version 12.3.0.
Vulnerability class: Buffer Overflow
EPSS: 0.005 (42.0th percentile) — read the EPSS interpretation.
CVSS v3 metric
CVSS v3 base score 9.1 (Critical). Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:H.
Affected products
- Python Pillow
- Python-pillow Pillow — versions < 12.3.0
Weakness classification (CWE)
References
- security-advisories@github.com (x_refsource_CONFIRM, Exploit, Mitigation, Vendor Advisory)
- security-advisories@github.com (Patch, x_refsource_MISC, Issue Tracking)
- security-advisories@github.com (Patch, x_refsource_MISC)
- security-advisories@github.com (Product, x_refsource_MISC, Release Notes)
Frequently asked questions
- What is CVE-2026-54058?
- CVE-2026-54058 is a critical-severity vulnerability in Python Pillow, classified under Out-of-bounds Read. CVSS score: 9.1/10. Published 2026-07-14.
- How severe is CVE-2026-54058?
- Critical severity. CVSS v3 base score is 9.1 out of 10.