Pillow is a Python imaging library. From 5.1.0 until 13.0.0, PdfParser.linearize_page_tree() in src/PIL/PdfParser.py treats a PDF /Pages graph as a tree without tracking duplicate indirect references. When Image.save(..., format="PDF", append=True) processes an attacker-controlled existing PDF whose /Kids arrays repeatedly reference the same child /Pages node, Pillow expands the shared subtree as distinct pages. A compact malformed PDF can therefore create exponentially many page references and consume disproportionate CPU before the append completes. This issue is fixed in version 13.0.0.
Fix
Patch, vendor advisory and mitigation references on NVD 3
- https://github.com/python-pillow/Pillow/commit/6f0e7ee1f9c2fe227906f8a4b926e6622b702bc7 Patch
- https://github.com/python-pillow/Pillow/security/advisories/GHSA-mrfp-p49p-3hf2 Vendor Advisory
- https://github.com/python-pillow/Pillow/security/advisories/GHSA-mrfp-p49p-3hf2 Vendor Advisory
Every line above is quoted from NVD, CISA, Microsoft, the vendor's own advisory or DISA; nothing is generated.
Change history 6
- StatusAnalyzed → ModifiedNVD modified 2026-10-28 02:17
- Cpes+1 CPE criteria (now 1)NVD modified 2026-10-27 14:25
- StatusAwaiting Analysis → AnalyzedNVD modified 2026-10-27 14:25
- StatusPublished → Awaiting AnalysisNVD modified 2026-10-22 16:46
- StatusReceived → PublishedNVD modified 2026-10-21 21:03
- First seenCVSS 8.2NVD modified 2026-10-21 21:20
Affected (CPE criteria) 1
cpe:2.3:a:python:pillow:*:*:*:*:*:*:*:*
References 5
- https://github.com/python-pillow/Pillow/commit/6f0e7ee1f9c2fe227906f8a4b926e6622b702bc7 Patch
- https://github.com/python-pillow/Pillow/pull/10093 Issue Tracking
- https://github.com/python-pillow/Pillow/releases/tag/13.0.0 Release Notes
- https://github.com/python-pillow/Pillow/security/advisories/GHSA-mrfp-p49p-3hf2 Vendor Advisory
- https://github.com/python-pillow/Pillow/security/advisories/GHSA-mrfp-p49p-3hf2 Vendor Advisory