Pillow is a Python imaging library. Prior to 13.0.0, the TarIO initializer in src/PIL/TarIO.py accepts a negative octal member size and computes a backward seek that returns to the same 512-byte header. When the requested member name does not match, the parser repeatedly reads that header, consumes a full CPU core, and never returns. TarIO is reached only when an application directly uses PIL.TarIO.TarIO rather than the default Image.open() path. 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/19b695fdcc5eddc37374e2b1645fc4185edaf71d Patch
- https://github.com/python-pillow/Pillow/security/advisories/GHSA-3j72-p6qg-6xp7 Vendor Advisory
Every line above is quoted from NVD, CISA, Microsoft, the vendor's own advisory or DISA; nothing is generated.
Change history 7
- Cpes+1 CPE criteria (now 1)NVD modified 2026-10-27 14:26
- StatusAwaiting Analysis → AnalyzedNVD modified 2026-10-27 14:26
- StatusPublished → Awaiting AnalysisNVD modified 2026-10-22 16:46
- StatusReceived → PublishedNVD modified 2026-10-21 20:49
- StatusPublished → ReceivedNVD modified 2026-10-21 21:20
- CVSS7.1 (v4.0, CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N) → 7.1 (v4.0, CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X)NVD modified 2026-10-21 21:20
- First seenCVSS 7.1 · python-pillowNVD modified 2026-10-21 20:49
Affected (CPE criteria) 1
cpe:2.3:a:python:pillow:*:*:*:*:*:*:*:*
References 4
- https://github.com/python-pillow/Pillow/commit/19b695fdcc5eddc37374e2b1645fc4185edaf71d Patch
- https://github.com/python-pillow/Pillow/pull/10012 Issue Tracking
- https://github.com/python-pillow/Pillow/releases/tag/13.0.0 Release Notes
- https://github.com/python-pillow/Pillow/security/advisories/GHSA-3j72-p6qg-6xp7 Vendor Advisory