CVE-2026-59203
CVE-2026-59203 is a medium-severity vulnerability in Python Pillow with a CVSS 3.x base score of 5.3. It is not currently listed as actively exploited by CISA, and its EPSS exploit-prediction score is low. The underlying weakness is classified as CWE-835.
Key facts
- Severity: Medium (CVSS 3.x base score 5.3)
- EPSS exploit prediction: 0% (33rd percentile)
- Actively exploited: Not listed in CISA KEV
- Weakness: CWE-835
- Affected product: Python Pillow
- Published:
- Last modified:
Description
Pillow is a Python imaging library. From 12.0.0 through 12.2.0, Pillow's EPS parser in PIL/EpsImagePlugin.py accepts a negative byte count in the %%BeginBinary directive, allowing a crafted EPS file to cause Image.open() to seek backwards to the same directive and parse it repeatedly in an infinite loop. This issue is fixed in version 12.3.0.
Frequently asked questions
- What is CVE-2026-59203?
- Pillow is a Python imaging library. From 12.0.0 through 12.2.0, Pillow's EPS parser in PIL/EpsImagePlugin.py accepts a negative byte count in the %%BeginBinary directive, allowing a crafted EPS file to cause Image.open() to seek backwards to the same directive and parse it repeatedly in an infinite loop. This issue is fixed in version 12.3.0.
- How severe is CVE-2026-59203?
- CVE-2026-59203 has a CVSS 3.x base score of 5.3, rated medium severity. It is exploitable over network with low attack complexity, requires no privileges and no user interaction. Impact on confidentiality is none, integrity none, and availability low.
- Is CVE-2026-59203 being actively exploited?
- It is not currently listed in CISA's KEV catalog. Its EPSS exploit-prediction score is 0% (33rd percentile), an estimate of the probability of exploitation in the next 30 days.
- What products are affected by CVE-2026-59203?
- CVE-2026-59203 affects Python Pillow. See the affected-products list for the exact vulnerable versions.
- How do I fix CVE-2026-59203?
- Review the linked vendor and NVD advisories for patched versions and mitigations, then upgrade or apply the recommended workaround.
- When was CVE-2026-59203 published?
- CVE-2026-59203 was published on 2026-07-14 and last updated on 2026-07-15.
References
- https://github.com/python-pillow/Pillow/commit/03992618118b4a76b6163cd72ab5ecd684133b83
- https://github.com/python-pillow/Pillow/pull/9708
- https://github.com/python-pillow/Pillow/releases/tag/12.3.0
- https://github.com/python-pillow/Pillow/security/advisories/GHSA-pg7v-jwj7-p798
Affected products (1)
- cpe:2.3:a:python:pillow:*:*:*:*:*:*:*:*
More vulnerabilities in Python Pillow
- CVE-2014-3007 — Critical (CVSS 10.0): Python Image Library (PIL) 1.1.7 and earlier and Pillow 2.3 might allow remote attackers to execute arbitrary commands…
- CVE-2022-30595 — Critical (CVSS 9.8): libImaging/TgaRleDecode.c in Pillow 9.1.0 has a heap buffer overflow in the processing of invalid TGA image files.
- CVE-2022-22817 — Critical (CVSS 9.8): PIL.ImageMath.eval in Pillow before 9.0.0 allows evaluation of arbitrary expressions, such as ones that use the Python…
- CVE-2021-34552 — Critical (CVSS 9.8): Pillow through 8.2.0 and PIL (aka Python Imaging Library) through 1.1.7 allow an attacker to pass controlled parameters…
- CVE-2021-25289 — Critical (CVSS 9.8): An issue was discovered in Pillow before 8.1.1. TiffDecode has a heap-based buffer overflow when decoding crafted YCbCr…
- CVE-2020-5312 — Critical (CVSS 9.8): libImaging/PcxDecode.c in Pillow before 6.2.2 has a PCX P mode buffer overflow.
All CVEs affecting Python Pillow →
Other CWE-835 (Loop with Unreachable Exit Condition (Infinite Loop)) vulnerabilities
- CVE-2026-24816 — Critical (CVSS 10.0): Loop with Unreachable Exit Condition ('Infinite Loop') vulnerability in datavane tis…
- CVE-2025-21850 — Critical (CVSS 9.8): In the Linux kernel, the following vulnerability has been resolved: nvmet: Fix crash when a namespace is disabled The…
- CVE-2024-36288 — Critical (CVSS 9.8): In the Linux kernel, the following vulnerability has been resolved: SUNRPC: Fix loop termination condition in…
- CVE-2018-20784 — Critical (CVSS 9.8): In the Linux kernel before 4.20.2, kernel/sched/fair.c mishandles leaf cfs_rq's, which allows attackers to cause a…
- CVE-2017-12997 — Critical (CVSS 9.8): The LLDP parser in tcpdump before 4.9.2 could enter an infinite loop due to a bug in…
- CVE-2017-12995 — Critical (CVSS 9.8): The DNS parser in tcpdump before 4.9.2 could enter an infinite loop due to a bug in print-domain.c:ns_print().
Browse all CWE-835 (Loop with Unreachable Exit Condition (Infinite Loop)) vulnerabilities →