CVE-2026-59203 json
Pillow EpsImagePlugin negative %%BeginBinary byte count causes infinite loop denial of service
published 4mo ago modified 18d ago also BIT-pillow-2026-59203 , EUVD-2026-43741 , GHSA-pg7v-jwj7-p798 , PYSEC-2026-3452
- cvss
- 5.3
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.4%
- EPSS 0.4% chance of exploitation in 30 days, percentile 34%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- pypi pillow 12.3.0
- bitnami pillow 12.3.0
- python pillow 12.3.0
- pillow Debian 14 12.3.0-1
debian advisories DEBIAN-CVE-2026-59203
- pillow Ubuntu 26.04 LTS 12.1.1-2ubuntu1.4
ubuntu advisories UBUNTU-CVE-2026-59203
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
Is CVE-2026-59203 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerVendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2026-59203 updated cvss 5.3
Pillow: Pillow: Denial of Service via crafted EPS file
-
Red Hat Lightspeed Core lightspeed-core/rag-tool-cpu-rhel9, lightspeed-core/lightspeed-stack-rhel9, lightspeed-core/rag-tool-cuda-12.9-rhel9 Red Hat OpenShift Lightspeed openshift-lightspeed/lightspeed-ocp-rag-rhel9, openshift-lightspeed/lightspeed-service-api-rhel9, openshift-lightspeed-tech-preview/lightspeed-rag-tool-rhel9 Red Hat AI Inference Server rhaii/vllm-cpu-rhel9, rhaii/vllm-tpu-rhel9, rhaii/vllm-cuda-rhel9, rhaii/vllm-rocm-rhel9, rhaiis/vllm-cpu-rhel9, rhaiis/vllm-tpu-rhel9, +9 more Red Hat Enterprise Linux AI (RHEL AI) 3 rhelai3/bootc-cuda-rhel9, rhelai3/bootc-rocm-rhel9, rhelai3/bootc-gaudi-rhel9, rhelai3/bootc-aws-cuda-rhel9, rhelai3/bootc-gcp-cuda-rhel9, rhelai3/bootc-azure-cuda-rhel9, +1 more Red Hat OpenShift AI (RHOAI) rhoai/odh-automl-rhel9, rhoai/odh-mlflow-rhel9, rhoai/odh-autorag-rhel9, rhoai/odh-vllm-gaudi-rhel9, rhoai/odh-llm-d-kv-cache-rhel9, rhoai/odh-llama-stack-core-rhel9, +27 more Red Hat Quay 3 quay/quay-rhel8, quay/quay-rhel9affected: workaround, no fix available “Fix deferred”
-
Red Hat Exploit Intelligence exploit-intelligence-tech-preview/vulnerability-analysis-rhel9 Red Hat Ansible Automation Platform 2 python-pillow 10.3.0-1.el9ap, ansible-automation-platform-26/hub-rhel9, ansible-automation-platform-27/hub-rhel9, ansible-automation-platform/automation-dashboard-rhel9, ansible-automation-platform-25/lightspeed-chatbot-rhel8, ansible-automation-platform-26/lightspeed-chatbot-rhel9, +1 more Red Hat Enterprise Linux 7 python-pillow, python-pillow-qt, python-pillow-tk, python-pillow-sane, python-pillow 10.3.0-1.el9ap Red Hat Enterprise Linux 8 python3-pillow, python3-pillow-tk, python-pillow 10.3.0-1.el9ap Red Hat Satellite 6 python-pillow 10.3.0-1.el9ap, python-pillow 12.2.0-1.el8pcunder investigation
-
Red Hat Enterprise Linux AI (RHEL AI) 3 rhelai3/disk-image-cuda-rhel9 Red Hat OpenShift AI (RHOAI) rhoai/odh-caikit-nlp-rhel9, rhoai/odh-kserve-agent-rhel9, rhoai/odh-kserve-router-rhel9, rhoai/odh-kserve-controller-rhel9, rhoai/odh-llm-d-inference-scheduler-rhel9not affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- yes
- Technical impact
- partial
- Assessed
- 3mo ago
Exploit prediction
0.40% chance of exploitation in the next 30 days, higher than 34% of all scored CVEs (FIRST EPSS, 2026-11-11).
Exploits and checks
- github.com https://github.com/python-pillow/Pillow/security/advisories/GHSA-pg7v-jwj7-p798 referenced PoC, tagged "exploit" by a source, unverified
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 5.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L |
| GitHub | 3.1 | 5.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L |
| NVD | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
| OSV | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| pypi | pillow | >=12.0.0, <12.3.0 |
12.3.0 |
| bitnami | pillow | >=12.0.0, <12.3.0 |
12.3.0 |
Affected products
- python-pillow Pillow
Classification
- Weakness
-
- CWE-835 Loop with Unreachable Exit Condition
References
-
github.com
/python-pillow/Pillow/pull/9708
web, issue-tracking, patch
-
github.com
/python-pillow/Pillow/commit/03992618118b4a76b6163cd72ab5ecd684133b83
web, patch
-
github.com
/python-pillow/Pillow/security/advisories/GHSA-pg7v-jwj7-p798
exploit, web, vendor-advisory, advisory, evidence
-
github.com
/python-pillow/Pillow/releases/tag/12.3.0
web, release-notes, article, advisory
-
nvd.nist.gov
/vuln/detail/CVE-2026-59203
advisory, web
-
github.com
/pypa/advisory-database/tree/main/vulns/pillow/PYSEC-2026-3452.yaml
web
-
github.com
/python-pillow/Pillow
package
Sources
- CVE List CVE-2026-59203
- GitHub Advisory GHSA-pg7v-jwj7-p798
- NVD CVE-2026-59203
- OSV BIT-pillow-2026-59203
- OSV PYSEC-2026-3452
- Maintainer advisory GHSA-pg7v-jwj7-p798
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
The maintainers of python-pillow/Pillow published their own advisory on GitHub. Reviewed sources take precedence over it.