What’s Vulnerable › Vulnerabilities
CVE-2026-112390: Pillow: Infinite loop in MIC n_frames when the embedded TIFF
- Severity: high (CVSS 7.5 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.6% probability of exploitation in the next 30 days
- Public exploit or detection template: yes
- Published: 2026-10-19 · updated 2026-10-23
- Weakness: CWE-835
Description
Pillow is a Python imaging library. From 7.2.0 until 13.0.0, Pillow can enter an infinite loop while determining the frame count of a MIC image. MicImageFile inherits TIFF frame traversal, but MicImageFile.tell reports the OLE stream index and its seek() resets TIFF frame state, so an embedded TIFF with at least three IFDs never advances. When an application with olefile installed reads n_frames or saves all frames from a crafted MIC file, the non-advancing traversal can hold a worker at full CPU indefinitely. This issue is fixed in version 13.0.0.
Affected products
- python-pillow Pillow: from 7.2.0 before 13.0.0 — fixed in 13.0.0
- Pypi Pillow: from 7.2.0 before 13.0.0; 10.0.0, 10.0.1, 10.1.0, 10.2.0, 10.3.0, 10.4.0 (+28) — fixed in 13.0.0
How to fix
Upgrade to a fixed version: python-pillow Pillow 13.0.0; Pypi Pillow 13.0.0. Check the vendor advisory for mitigations.
References
- https://github.com/python-pillow/Pillow/commit/26cb3ed061173b817b9ee4b6f507cb0e1e293218
- https://github.com/python-pillow/Pillow/releases/tag/13.0.0
- https://github.com/python-pillow/Pillow/security/advisories/GHSA-22hg-r758-rrw9
- https://github.com/python-pillow/Pillow/security/advisories/GHSA-22hg-r758-rrw9
Get alerted when CVE-2026-112390 or the next vulnerability affects your stack