OpenImageIO is a toolset for reading, writing, and manipulating image files of any image file format relevant to VFX / animation. Prior to 3.0.21.0, 3.1.16.0, and 3.2.0.3-beta1, A truncated tga can leave a pending gif frame that is processed during output close. gifsplitpalette() computes numpixels multiplied by the palette partition width in signed 32-bit arithmetic; a large image overflows that intermediate, corrupts subpixelsa, and drives an out-of-bounds read while building the gif palette, resulting in a process crash and denial of service. The affected implementation is identified by src/gif.imageio/gif.h, GifSplitPalette(), numPixels, subPixelsA, GIFOutput, and truncated TGA input, which define the relevant source path, functions, state, and trigger. This issue is fixed in versions 3.0.21.0, 3.1.16.0, and 3.2.0.3-beta1.
{
"cna_assigner": "GitHub_M",
"cwe_ids": [
"CWE-125",
"CWE-190"
],
"osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/65xxx/CVE-2026-65969.json"
}{
"extracted_events": [
{
"introduced": "0"
},
{
"fixed": "3.0.21.0"
},
{
"introduced": "3.1.0.0"
},
{
"fixed": "3.1.16.0"
},
{
"introduced": "3.2.0.0-dev"
},
{
"fixed": "3.2.0.3-beta1"
}
],
"source": [
"AFFECTED_FIELD",
"REFERENCES"
]
}
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-65969.json"
[
{
"deprecated": false,
"digest": {
"function_hash": "308145371572064181010586757253238014688",
"length": 1805
},
"id": "CVE-2026-65969-0adf4958",
"signature_type": "Function",
"signature_version": "v1",
"source": "https://github.com/academysoftwarefoundation/openimageio/commit/134977da625a84fc5a09a34321806f1fe0093c24",
"target": {
"file": "src/gif.imageio/gifinput.cpp",
"function": "GIFInput::read_subimage_data"
}
},
{
"deprecated": false,
"digest": {
"function_hash": "280890982112484581011571934644656654056",
"length": 1149
},
"id": "CVE-2026-65969-2a0b1b9d",
"signature_type": "Function",
"signature_version": "v1",
"source": "https://github.com/academysoftwarefoundation/openimageio/commit/134977da625a84fc5a09a34321806f1fe0093c24",
"target": {
"file": "src/gif.imageio/gif.h",
"function": "GifBegin"
}
},
{
"deprecated": false,
"digest": {
"line_hashes": [
"254025795719939804706645793836211626449",
"3880503382227744029774767118263762269",
"168447010225526101567015626447952006941",
"149709572720466130506660112123460694824",
"129542665857137127875000643261238301381",
"185107687618483170525089616186827918237",
"7905072259068685492093731833982490443",
"246226566506581589411026026471615873400",
"133338608233163377568402033939524812225"
],
"threshold": 0.9
},
"id": "CVE-2026-65969-72d95574",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/academysoftwarefoundation/openimageio/commit/134977da625a84fc5a09a34321806f1fe0093c24",
"target": {
"file": "src/gif.imageio/gifinput.cpp"
}
},
{
"deprecated": false,
"digest": {
"function_hash": "117020163761170656504881838889680603841",
"length": 402
},
"id": "CVE-2026-65969-7adb9964",
"signature_type": "Function",
"signature_version": "v1",
"source": "https://github.com/academysoftwarefoundation/openimageio/commit/134977da625a84fc5a09a34321806f1fe0093c24",
"target": {
"file": "src/gif.imageio/gifinput.cpp",
"function": "GIFInput::read_native_scanline"
}
},
{
"deprecated": false,
"digest": {
"line_hashes": [
"51726936269121232456062435199179369175",
"185619044540201482595426571524244280740",
"62033012073734675292882475928572055186",
"117245810451361964040575977862973481085",
"337266790582932943688826787371015702913",
"197957445318119464914255637228999283862",
"182295031467720718489928066599955356259",
"113000992802645206383912245568044813402",
"42712423486899642727835136124636102270",
"309700699518179241458775079192052924144",
"240918125435842043578139345206276164062",
"66717978678728869193891386903605668025"
],
"threshold": 0.9
},
"id": "CVE-2026-65969-809c1c2d",
"signature_type": "Line",
"signature_version": "v1",
"source": "https://github.com/academysoftwarefoundation/openimageio/commit/134977da625a84fc5a09a34321806f1fe0093c24",
"target": {
"file": "src/gif.imageio/gif.h"
}
},
{
"deprecated": false,
"digest": {
"function_hash": "61633928576923601978130552566882237211",
"length": 2661
},
"id": "CVE-2026-65969-cb08c0f9",
"signature_type": "Function",
"signature_version": "v1",
"source": "https://github.com/academysoftwarefoundation/openimageio/commit/134977da625a84fc5a09a34321806f1fe0093c24",
"target": {
"file": "src/gif.imageio/gif.h",
"function": "GifSplitPalette"
}
},
{
"deprecated": false,
"digest": {
"function_hash": "50869340158439184491650073570161360297",
"length": 731
},
"id": "CVE-2026-65969-db66e4de",
"signature_type": "Function",
"signature_version": "v1",
"source": "https://github.com/academysoftwarefoundation/openimageio/commit/134977da625a84fc5a09a34321806f1fe0093c24",
"target": {
"file": "src/gif.imageio/gif.h",
"function": "GifMakePalette"
}
}
]
"2026-09-20T14:13:52Z"