cve.bz

CVE-2026-128066

Pillow: Memory DoS in TIFF and EXIF IFD parsing via overlapping tag data

8.7 highFix available

High (8.7) in python-pillow pillow. Fixed in pillow 13.0.0.

On this page
Pillow is a Python imaging library. From 1.0 through 12.3.0, ImageFileDirectory_v2.load() in src/PIL/TiffImagePlugin.py retains a separate bytes object for each out-of-line IFD tag value without limiting the total data read or preventing distinct tags from referencing the same file region. A small crafted TIFF or EXIF-bearing JPEG, PNG, WebP, or MPO can therefore cause memory use quadratic in the input size. TIFF and some JPEG paths trigger parsing during Image.open(), while other formats are exposed when EXIF is requested, including through getexif() or ImageOps.exif_transpose(). The declared pixel dimensions do not bound this metadata allocation, so decompression-bomb checks do not prevent process memory exhaustion. This issue is fixed in version 13.0.0.

Severity

CVSS 4.0

8.7 high
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
CWE
CWE-770 Allocation of Resources Without Limits or Throttling
Published
Assigned by
GitHub_M (CNA)
NVD analysis
Not in the NVD yet
Record from
the CVE List, synced

Ask an AI about this CVE

Show the promptExplain CVE-2026-128066 for an engineer deciding whether to act. Use https://cve.bz/api/public/cves/CVE-2026-128066?via=ask-ai-copy and https://cve.bz/cve/CVE-2026-128066?via=ask-ai-copy as the source of truth: what is affected and which versions fix it, whether it is in CISA KEV, public exploits, and its EPSS (an internet-wide 30-day estimate of exploitation activity, not a forecast for my systems). If they give no fixed versions, use the CVE record https://cveawg.mitre.org/api/cve/CVE-2026-128066 or the vendor advisory, not third-party mirrors. Tell me how to check whether I am affected and how to verify a fix. Cite the sources and say where they are uncertain.

Opens a third-party assistant; its answer is its own, not cve.bz's. The prompt holds only this CVE's id and public links.

Badge for a README or a site

CVE-2026-128066

An image that stays current: it is drawn from the data each time it is fetched (a host that proxies images, as GitHub does, may show its copy for a while). Markdown:

[![CVE-2026-128066](https://cve.bz/cve/badge/CVE-2026-128066.svg)](https://cve.bz/cve/CVE-2026-128066)

HTML:

<a href="https://cve.bz/cve/CVE-2026-128066"><img src="https://cve.bz/cve/badge/CVE-2026-128066.svg" alt="CVE-2026-128066"></a>

Affected

Versions

From the CNA's record in the CVE List.

ProductAffected
python-pillow Pillow>= 1.0, < 13.0.0

Packages (OSV)

AdvisoryEcosystemPackageAffectedFixed in
GHSA-wqgw-9xfh-qf2gPyPIpillow<13.0.013.0.0

Attack patterns (CAPEC)

The attack patterns MITRE's CAPEC relates to this record's weaknesses, as MITRE names them. Credits. More on the page of CWE-770 (20).

References

Check your stackJSON