---
id: CVE-2026-112404
title: >-
  Pillow: OOB read in TiffDecode.c tile and RGBA paths leaks heap memory into
  pixels
summary: >-
  Pillow is a Python imaging library. From 8.1.0 until 13.0.0, Pillow's TIFF
  tile and RGBA decode paths can read beyond row data produced by libtiff. In
  _decodeTile and the RGBA unpacker path, when Pillow and libtiff interpret
  duplicated P…
severity: high
cvss: 8.8
cvssVector: 'CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:L/VI:N/VA:H/SC:N/SI:N/SA:N'
cvssSource: cna
cwe:
  - CWE-126
  - CWE-125
vendor: python-pillow
product: Pillow
affected:
  - 'Pillow >= 8.1.0, < 13.0.0'
ssvc:
  exploitation: poc
  automatable: 'yes'
  technicalImpact: partial
  timestamp: '2026-10-28T15:18:32.820467Z'
exploitAvailable: true
published: '2026-10-19'
updated: '2026-10-28'
sourceUpdated: '2026-10-28T15:18:51.938Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-112404'
references:
  - url: >-
      https://github.com/python-pillow/Pillow/security/advisories/GHSA-c6hw-5grf-ff96
    label: >-
      https://github.com/python-pillow/Pillow/security/advisories/GHSA-c6hw-5grf-ff96
  - url: >-
      https://github.com/python-pillow/Pillow/commit/1d4773e6cea0c4a2814e6d4cdc099bbcf56da6ce
    label: >-
      https://github.com/python-pillow/Pillow/commit/1d4773e6cea0c4a2814e6d4cdc099bbcf56da6ce
  - url: 'https://github.com/python-pillow/Pillow/releases/tag/13.0.0'
    label: 'https://github.com/python-pillow/Pillow/releases/tag/13.0.0'
  - url: 'https://nvd.nist.gov/vuln/detail/CVE-2026-112404'
  - url: 'https://github.com/python-pillow/Pillow'
  - url: >-
      https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-112404.json
  - url: 'https://access.redhat.com/security/cve/CVE-2026-112404'
  - url: 'https://bugzilla.redhat.com/show_bug.cgi?id=2555874'
  - url: 'https://www.cve.org/CVERecord?id=CVE-2026-112404'
  - url: 'https://github.com/advisories/GHSA-c6hw-5grf-ff96'
tags:
  - cve.org
  - exploit-available
  - osv
  - pip
  - csaf
  - vex
  - red-hat
  - ghsa
epss: 0.00444
epssPercentile: 0.38527
aliases:
  - GHSA-c6hw-5grf-ff96
  - BIT-pillow-2026-112404
ecosystem: pip
patched:
  - pillow 13.0.0
scores:
  cna: 8.8
  vendor: 8.2
ingestedAt: '2026-10-19T21:43:56.116Z'
---

## Overview

Pillow is a Python imaging library. From 8.1.0 until 13.0.0, Pillow's TIFF tile and RGBA decode paths can read beyond row data produced by libtiff. In _decodeTile and the RGBA unpacker path, when Pillow and libtiff interpret duplicated PhotometricInterpretation or BitsPerSample tags differently, Pillow does not verify that the required input row fits inside the row libtiff produced, while the strip path has this validation. Loading pixels from such a crafted TIFF can expose adjacent heap data in output pixels or crash the process. This issue is fixed in version 13.0.0.

## Affected

- `Pillow >= 8.1.0, < 13.0.0`

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.

## Package advisory (CVE-2026-112404)

Affected packages:

- `pillow >= 8.1.0, < 13.0.0`

Patched in:

- `pillow 13.0.0`

Source: https://osv.dev/vulnerability/GHSA-c6hw-5grf-ff96

## Vendor advisories

- **Red Hat VEX** · Important · affected: Exploit Intelligence, Lightspeed Core, OpenShift Lightspeed, Red Hat AI Inference Server, Red Hat Ansible Automation Platform 2, Red Hat Enterprise Linux 8, … · no fix planned: Exploit Intelligence, Lightspeed Core, OpenShift Lightspeed, Red Hat AI Inference Server, … · updated 2026-10-23 · [vex](https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-112404.json)
