Pillow is a Python imaging library. From 8.2.0 through 12.2.0, src/libImaging/Jpeg2KDecode.c accumulates totalcomponentwidth across every tile in a JPEG2000 image instead of recomputing it per tile, allowing a crafted tiled JPEG2000 file to force substantially higher transient memory usage and trigger out-of-memory failures during decoding. This issue is fixed in version 12.3.0.
{
"cna_assigner": "GitHub_M",
"cwe_ids": [
"CWE-789"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/59xxx/CVE-2026-59204.json"
}"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2026-59204.json"
"2026-07-23T08:16:30Z"
[
{
"source": "https://github.com/python-pillow/pillow/commit/13ada41172142f2fd9f0906f615a00ea623a11ca",
"deprecated": false,
"signature_type": "Line",
"target": {
"file": "src/libImaging/Jpeg2KDecode.c"
},
"id": "CVE-2026-59204-6289961c",
"signature_version": "v1",
"digest": {
"threshold": 0.9,
"line_hashes": [
"291688561660707804276815887228166717799",
"264534465699635397772598286647326644689",
"292509477046047446378274593332551812301",
"189228586624185902837887542284463616471",
"105633872374323187754703844676181373460",
"23905744739649837941053605454746852793",
"246883239106134902990532735369164409266"
]
}
},
{
"source": "https://github.com/python-pillow/pillow/commit/13ada41172142f2fd9f0906f615a00ea623a11ca",
"deprecated": false,
"signature_type": "Function",
"id": "CVE-2026-59204-7f7a3275",
"target": {
"function": "j2k_decode_entry",
"file": "src/libImaging/Jpeg2KDecode.c"
},
"signature_version": "v1",
"digest": {
"length": 4860.0,
"function_hash": "172830296100755463424665802641356405889"
}
}
]