Pillow is a Python imaging library. Prior to 13.0.0 on Windows, src/PIL/WmfImagePlugin.py passes unchecked 32-bit WMF or EMF dimensions to the native drawwmf handler in src/display.c. The handler sizes a DIB allocation from 16-bit-truncated bcWidth and bcHeight fields but copies pixel data using the original full dimensions. A crafted wide, short metafile can pass the pixel-count decompression-bomb check and make the Windows-only renderer read beyond the heap buffer, potentially disclosing memory or crashing the process. This issue is fixed in version 13.0.0.
{
"cna_assigner": "GitHub_M",
"cwe_ids": [
"CWE-125"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/96xxx/CVE-2026-96644.json"
}{
"extracted_events": [
{
"range": [
{
"introduced": "0"
},
{
"fixed": "13.0.0"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
},
{
"range": [
{
"fixed": "4cf46bee338304c5c8968fd7f132ba0d40c428b7"
}
],
"source": "REFERENCES_COMMIT"
},
{
"original_tag": "13.0.0",
"range": [
{
"fixed": "293218ad059d994baf1777d882911bed6a49704a"
}
],
"source": "REFERENCES_TAG"
}
]
}
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2026-96644.json"
[
{
"deprecated": false,
"digest": {
"function_hash": "46953202414908588935193408500707055659",
"length": 1465
},
"id": "CVE-2026-96644-4fd373cd",
"signature_type": "Function",
"signature_version": "v1",
"source": "https://github.com/python-pillow/pillow/commit/4cf46bee338304c5c8968fd7f132ba0d40c428b7",
"target": {
"file": "src/display.c",
"function": "PyImaging_DrawWmf"
}
},
{
"deprecated": false,
"digest": {
"line_hashes": [
"93128461572598178854605054216111269944",
"220453984303963180922819129286075982687",
"117665431000893290846257799512856649817"
],
"threshold": 0.9
},
"id": "CVE-2026-96644-f7b4df4a",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/python-pillow/pillow/commit/4cf46bee338304c5c8968fd7f132ba0d40c428b7",
"target": {
"file": "src/display.c"
}
}
]
"2026-10-22T17:03:36Z"