Pillow is a Python imaging library. From 8.2.0 until 13.0.0, Pillow's tiled-TIFF decoder can read past the tile buffer while copying four-byte pixels. In _decodeTile, libtiff can return a tile allocation smaller than the required row stride multiplied by the tile length, and Pillow's stride-and-copy loop walks beyond that allocation. An attacker can supply a crafted tiled TIFF to an application that loads it. This can expose adjacent heap data in pixels or crash the process. This issue is fixed in version 13.0.0.
{
"cna_assigner": "GitHub_M",
"cwe_ids": [
"CWE-122"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/112xxx/CVE-2026-112395.json",
"unresolved_ranges": [
{
"extracted_events": [
{
"range": [
{
"introduced": "8.2.0"
},
{
"fixed": "13.0.0"
}
],
"source": "AFFECTED_FIELD",
"strategy": "StringRangeExpression"
}
]
},
{
"extracted_events": [
{
"range": [
{
"fixed": "13.0.0"
}
],
"source": "DESCRIPTION"
}
]
}
]
}{
"extracted_events": [
{
"range": [
{
"fixed": "76869efdbbf2ad7dccd7536520fb61b7a00ab61e"
}
],
"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-112395.json"
[
{
"deprecated": false,
"digest": {
"function_hash": "201485030498429415687306219681830104572",
"length": 1722
},
"id": "CVE-2026-112395-1176e2e7",
"signature_type": "Function",
"signature_version": "v1",
"source": "https://github.com/python-pillow/pillow/commit/76869efdbbf2ad7dccd7536520fb61b7a00ab61e",
"target": {
"file": "src/libImaging/TiffDecode.c",
"function": "_decodeTile"
}
},
{
"deprecated": false,
"digest": {
"line_hashes": [
"110576601368750688772104129151745617387",
"202954312977746917856849100868621696",
"28904632620288533449476229609673813484",
"49537509962737632334706805469588647837",
"260897233094423499822943560726398440845",
"164661162145508205100894650171527718461",
"227518659177138961141126753301706265304",
"143303606416399960199578382961820983883",
"21079270631945509476378893280329369903",
"85609795275462547379522974371445079306",
"53216074465800800867899052000145992534",
"319633226966782073511939413923117689476",
"120481687846647613562656795275153255125",
"253473309681101918563264691779815017415",
"319802456348554386449421583436135261792"
],
"threshold": 0.9
},
"id": "CVE-2026-112395-5d92d656",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/python-pillow/pillow/commit/76869efdbbf2ad7dccd7536520fb61b7a00ab61e",
"target": {
"file": "src/libImaging/TiffDecode.c"
}
},
{
"deprecated": false,
"digest": {
"function_hash": "92806996912574492579404416982792019172",
"length": 1789
},
"id": "CVE-2026-112395-8a230dcf",
"signature_type": "Function",
"signature_version": "v1",
"source": "https://github.com/python-pillow/pillow/commit/76869efdbbf2ad7dccd7536520fb61b7a00ab61e",
"target": {
"file": "src/libImaging/TiffDecode.c",
"function": "_decodeAsRGBA"
}
}
]
"2026-10-21T09:40:01Z"