PatchSiren cyber security CVE debrief
CVE-2026-59200 python-pillow CVE debrief
CVE-2026-59200 is a vulnerability in Pillow, a Python imaging library. The issue arises from the PdfParser.PdfStream.decode() function in PIL/PdfParser.py, which calls zlib.decompress() with a bufsize set to the PDF stream Length field without bounding the decompressed output size. This allows a crafted FlateDecode PDF stream to exhaust memory from a small file. The vulnerability is fixed in version 12.3.0. Affected users should be aware of the potential for memory exhaustion attacks and ensure they are using the latest version of Pillow.
- Vendor
- python-pillow
- Product
- Pillow
- CVSS
- HIGH 7.5
- CISA KEV
- Not listed in stored evidence
- Original CVE published
- 2026-07-14
- Original CVE updated
- 2026-07-21
- Advisory published
- 2026-07-14
- Advisory updated
- 2026-07-21
Who should care
Users of Pillow, especially those handling PDF streams, should be aware of this vulnerability. It could potentially lead to memory exhaustion attacks. Developers using Pillow in their applications should ensure they are using version 12.3.0 or later to mitigate this issue. Additionally, security teams and vulnerability management teams should be aware of the potential impact of this vulnerability on their systems.
Technical summary
The vulnerability exists in the PdfParser.PdfStream.decode() function of Pillow. When processing a PDF stream with a FlateDecode compression, the function calls zlib.decompress() with a bufsize equal to the PDF stream's Length field. Without proper bounds checking on the decompressed output size, a specially crafted PDF stream can cause memory exhaustion. This issue was addressed in Pillow version 12.3.0 by adding proper bounds checking. Users of Pillow should ensure they are using version 12.3.0 or later to mitigate this issue.
Defensive priority
High priority should be given to updating Pillow to version 12.3.0 or later. Additionally, validating and sanitizing PDF streams before processing, implementing memory usage monitoring for Pillow applications, and considering additional defensive controls like sandboxing or resource limits can help mitigate this vulnerability. Compensating controls, such as monitoring and asset inventory, should also be reviewed to ensure adequate protection.
Recommended defensive actions
- Update Pillow to version 12.3.0 or later
- Validate and sanitize PDF streams before processing
- Implement memory usage monitoring for Pillow applications
- Consider using additional defensive controls like sandboxing or resource limits
- Review compensating controls for exposed systems while remediation is scheduled and verified
- Check relevant monitoring, detection, and logs for exposed assets that need extra review
- Track exceptions, retest remediated assets, and close the item only after evidence is documented
Evidence notes
The CVE record was published on 2026-07-14T17:17:14.620Z and was last modified on 2026-07-21T15:52:40.107Z. The NVD entry is currently Analyzed. The vulnerability has a CVSS score of 7.5 and is classified as HIGH severity. There is limited information available about the specific details of the vulnerability, and defenders should verify the affected scope and severity with the official advisory. The CVE record provides a basic description of the issue, but additional details may be necessary to fully understand the vulnerability.
Sources and references
Verified primary and authoritative sources
-
CVE-2026-59200 CVE Program record
Publisher, destination, and source semantics verified
URL: https://www.cve.org/CVERecord?id=CVE-2026-59200
CVE Program - Official CVE Program record with source-provided CVE metadata.
-
CVE-2026-59200 NVD vulnerability detail
Publisher, destination, and source semantics verified
URL: https://nvd.nist.gov/vuln/detail/CVE-2026-59200
NIST National Vulnerability Database - Official NIST NVD detail page and source-specific vulnerability assessment.
Supplemental references
-
Mitigation or vendor reference
Unverified legacy reference
URL: https://github.com/python-pillow/Pillow/commit/f7a31ea75e460e108c37126da1f47812f21f6b09
[email protected] - Patch
-
Mitigation or vendor reference
Unverified legacy reference
URL: https://github.com/python-pillow/Pillow/pull/9718
[email protected] - Issue Tracking, Patch
-
Mitigation or vendor reference
Unverified legacy reference
URL: https://github.com/python-pillow/Pillow/releases/tag/12.3.0
[email protected] - Release Notes
-
Mitigation or vendor reference
Unverified legacy reference
URL: https://github.com/python-pillow/Pillow/security/advisories/GHSA-jjj6-mw9f-p565
[email protected] - Exploit, Vendor Advisory
Methodology and review provenance
AI-assisted synthesis based on stored public vulnerability evidence. System validation, approval state, and publication status do not by themselves establish human review of this revision. PatchSiren helps prioritize defensive review and does not prove exposure or remediation on any system.