PatchSiren cyber security CVE debrief
CVE-2026-96636 python-pillow CVE debrief
Pillow's decompression-bomb protection bypass via multi-frame seek() in MPO and DCX allows denial of service (memory exhaustion / OOM) when loading crafted images. This vulnerability exists in the MpoImageFile.seek() and DcxImageFile.seek() methods, which do not re-run the decompression-bomb check on seek(). A crafted MPO or DCX image with a tiny first frame but large later frames can bypass the protection, leading to large memory commitment and potential denial of service attacks. Defenders should prioritize verifying and updating Pillow to version 13.0.0 or later, especially in applications handling MPO and DCX images.
- Vendor
- python-pillow
- Product
- pillow
- CVSS
- MEDIUM 6.5
- CISA KEV
- Not listed in stored evidence
- Original CVE published
- 2026-10-22
- Original CVE updated
- 2026-10-22
- Advisory published
- 2026-10-22
- Advisory updated
- 2026-10-22
Who should care
Defenders handling MPO and DCX images with Pillow, especially in applications with high memory usage or sensitive data, should prioritize verifying and updating Pillow to version 13.0.0 or later. This includes operators, platforms, vulnerability-management teams, and security teams that handle these image formats.
Why it matters
CVE-2026-96636 allows denial of service (memory exhaustion / OOM) attacks when loading crafted MPO and DCX images with Pillow. Defenders should prioritize verifying and updating Pillow to version 13.0.0 or later.
- Denial of service (memory exhaustion / OOM) attacks
- Potential for large memory commitment when loading crafted images
- Need for verification and updating Pillow to version 13.0.0 or later
Technical summary
Pillow's decompression-bomb protection is bypassed in MpoImageFile.seek() and DcxImageFile.seek() methods, allowing denial of service (memory exhaustion / OOM) attacks. The vulnerability exists due to the lack of re-running the decompression-bomb check in these methods. A crafted MPO or DCX image with a tiny first frame but large later frames can bypass the protection, leading to large memory commitment and potential denial of service attacks. The vulnerability was introduced due to the lack of re-running the decompression-bomb check in these methods.
Defensive priority
Defenders should prioritize verifying and updating Pillow to version 13.0.0 or later, especially in applications handling MPO and DCX images.
Recommended defensive actions
- Verify and update Pillow to version 13.0.0 or later
- Review and update applications handling MPO and DCX images
- Monitor for potential denial of service (memory exhaustion / OOM) attacks
- Perform vulnerability scanning and patch management for affected systems
- Implement compensating controls for exposed systems while remediation is scheduled and verified
- Review 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 vulnerability exists in Pillow's MpoImageFile.seek() and DcxImageFile.seek() methods, which do not re-run the decompression-bomb check on seek(). This allows a crafted MPO or DCX image with a tiny first frame but large later frames to bypass the protection. The vulnerability was introduced due to the lack of re-running the decompression-bomb check in these methods. Defenders should verify and update Pillow to version 13.0.0 or later and review applications handling MPO and DCX images.
Sources and references
Verified primary and authoritative sources
-
CVE-2026-96636 CVE Program record
Publisher, destination, and source semantics verified
URL: https://www.cve.org/CVERecord?id=CVE-2026-96636
CVE Program - Official CVE Program record with source-provided CVE metadata.
-
CVE-2026-96636 NVD vulnerability detail
Publisher, destination, and source semantics verified
URL: https://nvd.nist.gov/vuln/detail/CVE-2026-96636
NIST National Vulnerability Database - Official NIST NVD detail page and source-specific vulnerability assessment.
Supplemental references
-
Pillow: Decompression-bomb protection bypass via multi-frame seek() in MPO and DCX (MpoImageFile
Unverified legacy reference
URL: https://storage.googleapis.com/osv-vulnerabilities/PyPI/GHSA-p8hx-v2p6-rp84.json
osv_dev
-
Source reference
Unverified legacy reference
URL: https://github.com/python-pillow/Pillow/security/advisories/GHSA-p8hx-v2p6-rp84
Supplemental source
-
Source reference
Unverified legacy reference
URL: https://github.com/python-pillow/Pillow/pull/10011
Supplemental source
-
Source reference
Unverified legacy reference
URL: https://github.com/python-pillow/Pillow/commit/f1acfc54c53502948d0d14121872061df931db48
Supplemental source
-
Source reference
Unverified legacy reference
URL: https://github.com/python-pillow/Pillow
Supplemental source
-
Source reference
Unverified legacy reference
URL: https://github.com/python-pillow/Pillow/releases/tag/13.0.0
Supplemental source
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.