Pillow is a Python imaging library. Prior to 13.0.0, MpoImageFile.seek() and DcxImageFile.seek() reparse later MPO or DCX frames and replace self._size without rerunning Image._decompression_bomb_check(). A crafted multi-frame image can use a tiny first frame to pass Image.open() and then declare an over-limit later frame. Normal frame iteration through seek(), load(), or ImageSequence.Iterator can decode that frame and commit hundreds of megabytes or more, causing memory-exhaustion denial of service. This issue is fixed in version 13.0.0.
Fix
Patch, vendor advisory and mitigation references on NVD 2
- https://github.com/python-pillow/Pillow/commit/f1acfc54c53502948d0d14121872061df931db48 Patch
- https://github.com/python-pillow/Pillow/security/advisories/GHSA-p8hx-v2p6-rp84 Vendor Advisory
Every line above is quoted from NVD, CISA, Microsoft, the vendor's own advisory or DISA; nothing is generated.
Change history 5
- Cpes+1 CPE criteria (now 1)NVD modified 2026-10-27 14:24
- StatusAwaiting Analysis → AnalyzedNVD modified 2026-10-27 14:24
- StatusPublished → Awaiting AnalysisNVD modified 2026-10-22 16:46
- StatusReceived → PublishedNVD modified 2026-10-21 21:05
- First seenCVSS 6.5NVD modified 2026-10-21 21:20
Affected (CPE criteria) 1
cpe:2.3:a:python:pillow:*:*:*:*:*:*:*:*
References 4
- https://github.com/python-pillow/Pillow/commit/f1acfc54c53502948d0d14121872061df931db48 Patch
- https://github.com/python-pillow/Pillow/pull/10011 Issue Tracking
- https://github.com/python-pillow/Pillow/releases/tag/13.0.0 Release Notes
- https://github.com/python-pillow/Pillow/security/advisories/GHSA-p8hx-v2p6-rp84 Vendor Advisory