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.
{
"cna_assigner": "GitHub_M",
"cwe_ids": [
"CWE-416"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/112xxx/CVE-2026-112402.json",
"unresolved_ranges": [
{
"extracted_events": [
{
"range": [
{
"fixed": "13.0.0"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
}
]
},
{
"extracted_events": [
{
"range": [
{
"fixed": "13.0.0"
},
{
"fixed": "13.0.0"
}
],
"source": "DESCRIPTION"
}
]
}
]
}{
"extracted_events": [
{
"range": [
{
"fixed": "aafa6c75f7cdabb9f409a8aac7c780bea31d08d9"
}
],
"source": "REFERENCES_COMMIT"
},
{
"original_tag": "13.0.0",
"range": [
{
"fixed": "293218ad059d994baf1777d882911bed6a49704a"
}
],
"source": "REFERENCES_TAG"
}
]
}
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-112402.json"
[
{
"deprecated": false,
"digest": {
"function_hash": "249917818182199755458341376879466064233",
"length": 1510
},
"id": "CVE-2026-112402-52cc2a6a",
"signature_type": "Function",
"signature_version": "v1",
"source": "https://github.com/python-pillow/pillow/commit/aafa6c75f7cdabb9f409a8aac7c780bea31d08d9",
"target": {
"file": "src/_imaging.c",
"function": "_resize"
}
},
{
"deprecated": false,
"digest": {
"line_hashes": [
"321313457675946189401323870737251954232",
"262075159384788929128693991217614199416",
"193452582567030081844053633648415191004",
"7909764332128986786411623258513436347",
"26734643465617584029251126093880481802",
"162035368954354079429599006203809381539",
"129792897804934971887985543136768959113"
],
"threshold": 0.9
},
"id": "CVE-2026-112402-55549ad1",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/python-pillow/pillow/commit/aafa6c75f7cdabb9f409a8aac7c780bea31d08d9",
"target": {
"file": "src/_imaging.c"
}
},
{
"deprecated": false,
"digest": {
"function_hash": "4526551501969283430959639219046268106",
"length": 1606
},
"id": "CVE-2026-112402-d60276bf",
"signature_type": "Function",
"signature_version": "v1",
"source": "https://github.com/python-pillow/pillow/commit/aafa6c75f7cdabb9f409a8aac7c780bea31d08d9",
"target": {
"file": "src/libImaging/Geometry.c",
"function": "ImagingScaleAffine"
}
},
{
"deprecated": false,
"digest": {
"line_hashes": [
"288980435302019702101910813519152890468",
"70702820797238706893230707488435886291",
"240382660006110556071239605694321459564",
"165713518888442145485659497522317710091"
],
"threshold": 0.9
},
"id": "CVE-2026-112402-edaa2fac",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/python-pillow/pillow/commit/aafa6c75f7cdabb9f409a8aac7c780bea31d08d9",
"target": {
"file": "src/libImaging/Geometry.c"
}
}
]
"2026-10-21T09:40:04Z"