---
id: CVE-2026-112402
title: >-
  Pillow: Double free in ImagingScaleAffine on calloc failure via
  Image.transform
summary: >-
  Pillow is a Python imaging library. Prior to 13.0.0, Pillow can double free
  image memory when ImagingScaleAffine encounters a selective allocation
  failure. The affected fast path handles Transform.EXTENT or pure
  scale-and-translate Trans…
severity: high
cvss: 8.7
cvssVector: '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'
cvssSource: cna
cwe:
  - CWE-416
vendor: python-pillow
product: Pillow
affected:
  - Pillow < 13.0.0
ssvc:
  exploitation: poc
  automatable: 'yes'
  technicalImpact: partial
  timestamp: '2026-10-19T21:37:14.144311Z'
exploitAvailable: true
published: '2026-10-19'
updated: '2026-10-19'
sourceUpdated: '2026-10-19T21:37:35.120Z'
source: CVEORG
sourceUrl: 'https://www.cve.org/CVERecord?id=CVE-2026-112402'
references:
  - url: >-
      https://github.com/python-pillow/Pillow/security/advisories/GHSA-7mwm-ghpf-9vrm
    label: >-
      https://github.com/python-pillow/Pillow/security/advisories/GHSA-7mwm-ghpf-9vrm
  - url: >-
      https://github.com/python-pillow/Pillow/commit/aafa6c75f7cdabb9f409a8aac7c780bea31d08d9
    label: >-
      https://github.com/python-pillow/Pillow/commit/aafa6c75f7cdabb9f409a8aac7c780bea31d08d9
  - url: 'https://github.com/python-pillow/Pillow/releases/tag/13.0.0'
    label: 'https://github.com/python-pillow/Pillow/releases/tag/13.0.0'
tags:
  - cve.org
  - exploit-available
ingestedAt: '2026-10-19T21:43:56.110Z'
---

## Overview

Pillow is a Python imaging library. Prior to 13.0.0, Pillow can double free image memory when ImagingScaleAffine encounters a selective allocation failure. The affected fast path handles Transform.EXTENT or pure scale-and-translate Transform.AFFINE operations with the default NEAREST resampling. The output image allocation must succeed while the additional per-column lookup allocation fails, after which the error path deletes image storage that later cleanup releases again. An attacker who can drive such a large Image.transform() operation under memory pressure may trigger the failure. This can crash the process and may corrupt memory. This issue is fixed in version 13.0.0.

## Affected

- `Pillow < 13.0.0`

## Remediation

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