Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessSupply image with mismatched TIFF tag values
-
ExploitApplication invokes Pillow TIFF encoder (save)
-
ExecutionEncoder reads past buffer on inconsistent tags
-
ImpactLeak heap memory into output file or crash process
Vulnerability Assessment
| Exploitation Conditions | Exploitation is confined to the TIFF encode/save path: the application must call Pillow to write a TIFF image where the TIFF tag values (e.g. dimension/strip/colormap-related tags in the ImageFileDirectory) are attacker-influenced and inconsistent with the actual image data, causing an out-of-bounds read. Limiting factors: this is NOT reachable by merely opening a malicious file - it requires that untrusted input controls or seeds the TIFF tags used during saving, so applications that only decode images, or that write TIFFs with fully library-controlled tags, are not exposed. Exploitation requires Pillow versions prior to 13.0.0. |
| Impact | No CVSS vector, EPSS score, KEV listing, or POC reference is provided in the input, so quantitative exploitation signals are entirely absent and the only authoritative source is the Pillow 13.0.0 release notes / oss-security advisory, which rank CVE-2026-112902 (GHSA-xvh5-g6gv-559v, 'TIFF encoder memory disclosure and crash from mismatched tag values') as High severity among a large batch of Pillow fixes. Qualitatively this is a dual-impact bug: an information-disclosure primitive (uninitialized/out-of-bounds heap bytes written into the encoded TIFF output) plus a denial-of-service (process crash). Crucially, this is in the TIFF ENCODER (save path), not the decoder, so it is NOT triggered merely by opening a malicious file - exploitation requires the application to write a TIFF whose tag values are attacker-influenced and mutually inconsistent, which materially narrows the attack surface compared to the decoder bugs in the same advisory. This should be treated as a 'patch in normal cycle' High rather than an emergency: there is no evidence of active exploitation (not in CISA KEV) and no public exploit is referenced, and the memory disclosure is of uncontrolled/limited heap content rather than a targeted secret read. Verify version applicability against your deployed Pillow build; the fix is in 13.0.0 (released 2026-10-16). |
| Exploit ScenarioDerived | An application that re-encodes or exports user-supplied images to TIFF (for example an image-processing pipeline, thumbnail/converter service, or document workflow) carries over or accepts attacker-influenced TIFF tags whose declared values do not match the actual image data. When Pillow's TIFF encoder serializes the image, the mismatched tags cause it to read beyond the valid buffer, leaking adjacent heap memory into the saved file or crashing the process. No public exploit code is referenced in the provided data. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 21, 2026
Out-of-bounds read in Pillow's TIFF encoder before 13.0.0 can disclose process memory or crash the application when TIFF tag values are inconsistent with the actual image data. The issue is not triggered by simply opening a malicious image; exploitation requires an application to save a TIFF using attacker-influenced tag metadata, and the assessed vector (AV:N/AC:H/PR:N/UI:N/S:U/C:L/I:N/A:L) reflects that high precondition. The Pillow 13.0.0 release notes rank it High severity, but no CISA KEV listing, EPSS score, or public exploit code was provided, so no public exploit identified at time of analysis.
RemediationAI
Vendor-released patch: Pillow 13.0.0. Upgrade to Pillow 13.0.0 or later, prioritizing services that save TIFFs using metadata or tags influenced by untrusted users; the fixed release is documented at https://pillow.readthedocs.io/en/stable/releasenotes/13.0.0.html and the oss-security advisory is at https://seclists.org/oss-sec/2026/q4/295. If immediate upgrade is not possible, remove TIFF write endpoints from untrusted exposure or strip and rebuild TIFF tag values server-side instead of passing caller-supplied tags into Pillow's encoder, accepting reduced functionality for metadata-preserving workflows. Running TIFF encoding in a sandboxed worker with strict memory limits lowers the impact of a crash or memory-disclosure attempt but does not remediate the out-of-bounds read; disabling TIFF save support entirely is the strongest interim control but breaks TIFF export functionality.
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in pypi
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Pillow is a Python imaging library whose TIFF encoder writes an ImageFileDirectory populated from image attributes and caller-supplied tag dictionaries. CVE-2026-112902 (GHSA-xvh5-g6gv-559v) occurs when mismatched tag values - such as dimensions, strip-related fields, or other TIFF metadata - do not match the real pixel buffer, causing the encoder to read outside allocated memory; this can leak stale heap contents (C:L) or abort the process (A:L). The root-cause class is an out-of-bounds read in the encoding path rather than the decoder, which is why AC:H is appropriate: the attacker must control or seed TIFF tags used during saving, not merely supply a crafted TIFF to Image.open(). The advisory ties this CVE to Pillow 13.0.0's TIFF encoder hardening, alongside related TIFF encoder overflows, use-after-free, and uninitialized-memory issues.
Know when the next one hits your stack
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
Encoder requires attacker-crafted mismatched TIFF tags so AC:H; limited uncontrolled heap bytes disclosed gives C:L; process crash gives A:L; no integrity impact.
Description PRE-NVD
Blast Radius
ecosystem impact- 89,616 pypi packages depend on pillow (20,283 direct, 70,825 indirect)
Ecosystem-wide dependent count for version 13.0.0.
Executive ViewAI
Pillow, the Python imaging library used across many of our image-processing services and build pipelines, has a high-severity memory-handling flaw in its TIFF writing path that can leak fragments of process memory or crash the running service. Exposure is narrow: the defect only fires when an application saves a TIFF using tag metadata influenced by an outside party, so teams that merely open or display images are not affected. No public exploit has been identified and the required preconditions are substantial, but a memory disclosure on a shared image worker could expose sensitive data or cause customer-visible outages, so ownership and a tracked fix date are warranted.
No vendor-released patch identified at time of analysis. Interim mitigations: refuse or strictly validate externally influenced TIFF tag metadata before it reaches Image.save (whitelist known tag keys and expected types/ranges); disable TIFF encoding on internet-facing or multi-tenant image paths where it is not a required output format; run TIFF encoding in a sandboxed, low-privilege, short-lived worker with memory isolation and no access to secrets so any out-of-bounds read cannot reach sensitive process memory; convert or re-encode TIFF output through an alternative encoder until Pillow 13.0.0 or later is deployed; enable crash/restart supervision and memory-anomaly alerting on image services to detect attempted abuse.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
Attack Technique
A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
GHSA-xvh5-g6gv-559v
CVE.org
Exploit-DB