{"id":"CVE-2026-59204","state":"PUBLISHED","title":"Pillow JPEG2000 tiled decode retains a growing scratch buffer and can be used for denial of service","description":"Pillow is a Python imaging library. From 8.2.0 through 12.2.0, src/libImaging/Jpeg2KDecode.c accumulates total_component_width 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.","publishedAt":"2026-07-14T15:38:29.545Z","updatedAt":"2026-07-21T18:41:18.660Z","severity":{"score":8.7,"label":"High","version":"4.0","vector":"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","source":"GitHub_M"},"assigner":"GitHub_M","products":["python-pillow Pillow"],"affected":[{"vendor":"python-pillow","product":"Pillow","versions":[{"version":">= 8.2.0, < 12.3.0","status":"affected"}]}],"references":["https://github.com/python-pillow/Pillow/security/advisories/GHSA-vjc4-5qp5-m44j","https://github.com/python-pillow/Pillow/pull/9704","https://github.com/python-pillow/Pillow/commit/13ada41172142f2fd9f0906f615a00ea623a11ca","https://github.com/python-pillow/Pillow/releases/tag/12.3.0"],"weaknesses":["CWE-789"],"ingestedAt":"2026-10-29T20:12:32.778Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/59xxx/CVE-2026-59204.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-59204","state":"PUBLISHED","datePublished":"2026-07-14T15:38:29.545Z","dateUpdated":"2026-07-21T18:41:18.660Z","assignerShortName":"GitHub_M","assignerOrgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateReserved":"2026-07-02T21:05:02.923Z"},"containers":{"cna":{"title":"Pillow JPEG2000 tiled decode retains a growing scratch buffer and can be used for denial of service","descriptions":[{"lang":"en","value":"Pillow is a Python imaging library. From 8.2.0 through 12.2.0, src/libImaging/Jpeg2KDecode.c accumulates total_component_width 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."}],"affected":[{"vendor":"python-pillow","product":"Pillow","versions":[{"version":">= 8.2.0, < 12.3.0","status":"affected"}]}],"references":[{"url":"https://github.com/python-pillow/Pillow/security/advisories/GHSA-vjc4-5qp5-m44j","name":"https://github.com/python-pillow/Pillow/security/advisories/GHSA-vjc4-5qp5-m44j","tags":["x_refsource_CONFIRM"]},{"url":"https://github.com/python-pillow/Pillow/pull/9704","name":"https://github.com/python-pillow/Pillow/pull/9704","tags":["x_refsource_MISC"]},{"url":"https://github.com/python-pillow/Pillow/commit/13ada41172142f2fd9f0906f615a00ea623a11ca","name":"https://github.com/python-pillow/Pillow/commit/13ada41172142f2fd9f0906f615a00ea623a11ca","tags":["x_refsource_MISC"]},{"url":"https://github.com/python-pillow/Pillow/releases/tag/12.3.0","name":"https://github.com/python-pillow/Pillow/releases/tag/12.3.0","tags":["x_refsource_MISC"]}],"metrics":[{"cvssV4_0":{"attackVector":"NETWORK","attackComplexity":"LOW","attackRequirements":"NONE","privilegesRequired":"NONE","userInteraction":"NONE","vulnConfidentialityImpact":"NONE","vulnIntegrityImpact":"NONE","vulnAvailabilityImpact":"HIGH","subConfidentialityImpact":"NONE","subIntegrityImpact":"NONE","subAvailabilityImpact":"NONE","baseScore":8.7,"baseSeverity":"HIGH","vectorString":"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","version":"4.0"}}],"problemTypes":[{"descriptions":[{"cweId":"CWE-789","lang":"en","description":"CWE-789: Memory Allocation with Excessive Size Value","type":"CWE"}]}],"providerMetadata":{"shortName":"GitHub_M","orgId":"a0819718-46f1-4df5-94e2-005712e83aaa","dateUpdated":"2026-07-14T15:38:29.545Z"},"source":{"advisory":"GHSA-vjc4-5qp5-m44j","discovery":"UNKNOWN"}},"adp":[{"title":"CISA ADP Vulnrichment","references":[{"url":"https://github.com/python-pillow/Pillow/security/advisories/GHSA-vjc4-5qp5-m44j","tags":["exploit"]}],"metrics":[{"other":{"type":"ssvc","content":{"timestamp":"2026-07-21T18:40:47.610956Z","id":"CVE-2026-59204","options":[{"Exploitation":"poc"},{"Automatable":"yes"},{"Technical Impact":"partial"}],"role":"CISA Coordinator","version":"2.0.3"}}}],"providerMetadata":{"shortName":"CISA-ADP","orgId":"134c704f-9b21-4f2e-91b3-4a467353bcc0","dateUpdated":"2026-07-21T18:41:18.660Z"}}]}}}