{"id":"CVE-2026-65969","summary":"OpenImageIO: TGA-to-GIF palette split signed overflow causes SIGSEGV","details":"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.","aliases":["GHSA-9mwc-fjgj-8wmq"],"modified":"2026-09-20T14:13:52.451155Z","published":"2026-09-18T15:51:10.998Z","related":["openSUSE-SU-2026:11442-1"],"database_specific":{"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"},"references":[{"type":"WEB","url":"https://github.com/AcademySoftwareFoundation/OpenImageIO/releases/tag/v3.0.21.0"},{"type":"WEB","url":"https://github.com/AcademySoftwareFoundation/OpenImageIO/releases/tag/v3.1.16.0"},{"type":"ADVISORY","url":"https://github.com/AcademySoftwareFoundation/OpenImageIO/security/advisories/GHSA-9mwc-fjgj-8wmq"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/65xxx/CVE-2026-65969.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-65969"},{"type":"FIX","url":"https://github.com/AcademySoftwareFoundation/OpenImageIO/commit/134977da625a84fc5a09a34321806f1fe0093c24"},{"type":"FIX","url":"https://github.com/AcademySoftwareFoundation/OpenImageIO/pull/5292"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/academysoftwarefoundation/openimageio","events":[{"introduced":"0"},{"introduced":"a0940a9f1e4a8ff20edc9d550a4dea4723d1aa58"},{"fixed":"710eeafcf7cd75fbfd5e34387ee4c373aa875356"},{"fixed":"f3f12ab761fbccaa644937780e7246674033c407"},{"fixed":"45414c1aedcd3cc98244b4c5802ec53e91976f70"},{"fixed":"134977da625a84fc5a09a34321806f1fe0093c24"}],"database_specific":{"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"]}}],"versions":["v3.1.15.0","v3.0.20.0","v3.0.19.1","v3.1.14.1","v3.1.14.0","v3.0.19.0","v3.0.18.1","v3.1.13.1","v3.2.0.2-dev","v3.1.13.0","v3.0.18.0","v3.1.12.0","v3.0.17.0","v3.1.11.0","v3.0.16.0","v3.2.0.0-dev","v3.1.10.0","v3.0.15.0","v3.0.14.0","v3.1.9.0","v3.0.13.0","v3.1.8.0","v3.0.12.0","v3.1.7.0","v3.0.11.0","v3.1.6.2","v3.1.6.1","v3.1.6.0-rc1","v3.1.5.0-beta2","v3.0.10.1","v3.0.10.0","v3.1.4.0-beta","v3.0.9.0","v3.0.8.1","v3.0.8.0","v3.0.7.0","v3.0.6.1","v3.0.6.0","v3.0.5.0","v3.0.4.0","v3.0.3.1","v3.0.3.0","v3.0.2.0","v3.0.1.0","v3.0.0.3","v3.0.0.2-RC1","v3.0.0.1-beta2","v3.0.0.0-beta1","v2.6.5.0-dev","v2.6.2.0-dev","v2.6.1.0-dev","v2.5.2.0-dev","v2.5.0.0-dev","v2.4.2.2-dev","v2.4.2.1-dev","v2.4.2.0-dev","v2.4.1.1-dev","v2.4.0.3-dev","v2.4.0.2-dev","v2.4.0.1-dev","v2.4.0.0-dev","v2.3.6.0-dev","v2.3.5.0-dev","Release-2.3.4.0-dev","Release-2.3.3.0-dev","Release-2.3.2.0-dev","Release-2.3.1.0-dev","Release-2.3.0.0-dev","Release-2.2.3.0-dev","Release-2.2.2.0-dev","Release-2.2.1.1-dev","Release-2.2.1.0-dev","Release-2.2.0.0-dev","Release-2.1.8.0-RC1","Release-2.1.7-beta","Release-2.1.5.0-dev","Release-2.1.4.0-dev","Release-2.1.3-dev","spi-spcomp2-release-49.1","spi-Arn3.7.42.0","Release-2.1.2-dev","Release-2.1.1-dev","Release-2.1.0-dev","spi-spcomp2-release-48.0","spi-Arn3.7.25.0","spi-spcomp2-release-47.0","spi-Arn3.7.23.3","Release-2.0.1-RC1","Release-2.0.0-beta1","spi-spcomp2-release-45.4","spi-spcomp2-release-45.3","spi-spcomp2-release-45.1","spi-spcomp2-release-45.0","Release-1.9.4dev","Release-1.9.3dev","Release-1.9.2dev","spiArn-3.6.86.0","spi-spcomp2-release-44.2","spiArn-3.6.94.0","spi-spcomp2-release-44.1","spi-spcomp2-release-44.0","spiArn-3.6.84.0","spiArn-3.6.74.0","spi-Arn3.6.72.1","Release-1.9.1dev","spi-Arn3.6.69.3","spi-spcomp2-release-43.0","spi-Arn3.6.64.6","Release-1.8.4dev","spi-spcomp2-release-42.0-rhel7","spi-Arn3.6.36.0","Release-1.8.3dev","Release-1.8.2dev","spi-Arn3.6.33.4","spi-Arn3.6.27.0","Release-1.8.1dev","spi-Arn3.6.21.3","spi-Arn3.6.18.0","Release-1.8.0dev","spi-spcomp2-release-41.0","Release-1.7.6RC1","spi-Arn3.6.7.1","Release-1.7.5beta","Release-1.7.4dev","Release-1.7.3dev","spi-Arn3.5.93.10","spi-Arn3.5.91.0","Release-1.7.2dev","spi-Arn3.5.90.0","spiArn3.5.82.0","Release-1.7.1dev","Release-1.7.0dev","spiArn3.5.75.0","spi-spcomp2-release-39.1","Release-1.6.6beta","spiArn3.5.68.0","spi-spcomp2-release-38.0","spiArn3.5.66.0","spi-Arn3.5.82.0","spi-Arn3.5.75.0","spi-Arn3.5.68.0","spi-Arn3.5.66.0","spi-Arn3.4.72.0","spi-Arn3.4.71.0","Release-1.6.4dev","spiArn3.5.50.0","spi-Arn3.5.50.0","Release-1.6.3dev","spiArn3.5.48.0","spi-Arn3.5.48.0","spiArn3.5.45.1","spiArn3.5.45.0","spi-Arn3.5.45.1","spi-Arn3.5.45.0","spi-Arn3.5.41.0","Release-1.6.2dev","spi-Arn3.5.37.0","spi-Arn3.5.35.0","Release-1.6.1dev","spi-Arn3.5.31.0","spi-Arn3.5.28.0","spi-Arn3.5.26.0","spi-Arn3.5.25.0","Release-1.5.7dev","spi-Arn3.5.24.0","Release-1.5.6dev","Release-1.5.5dev","spi-Arn3.5.16.0","spi-Arn3.5.14.0","Release-1.5.4dev-pre-SIMD","spi-Arn3.5.13.1","Release-1.5.3dev","spi-Arn3.5.12.0","Release-1.5.2dev","spi-Arn3.5.11.0","spi-Arn3.5.10.0","Release-1.5.1dev","spi-Arn3.5.8.0","Release-1.5.0dev","spi-Arn3.5.5.0","Release-1.4.6RC1","spi-Arn3.5.2.0","Release-1.4.5dev","spi-Arn3.5.0.0","spi-Arn3.4.73.7","Release-1.4.4dev","Release-1.4.3dev","spi-v8-Arn3.4.73.6","spi-Arn3.4.73.6","Release-1.4.2dev","spi-v7-Arn3.4.73.3","Release-1.4.1dev","Release-1.3.6-dev","Arnold-3.4.72.0","arnold-3.4.71.0","Release-1.3.5-dev","Release-1.3.5","Release-1.3.4-dev","Release-1.3.3-dev","Release-1.3.2-dev","Release-1.3.1-dev","Release-1.3.0-dev","Release-1.1.1","Release-1.1.0","Release-1.1.0-beta4","Release-1.1.0-beta3","Release-1.1.0-beta2","Release-1.1.0-beta1","Release-1.0.1","Release-1.0.0","Release-0.10.0","spi-SpComp2-v20","spi-SpComp2-v9"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-65969.json","vanir_signatures_modified":"2026-09-20T14:13:52Z","vanir_signatures":[{"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":"308145371572064181010586757253238014688","length":1805},"id":"CVE-2026-65969-0adf4958","signature_type":"Function"},{"signature_version":"v1","source":"https://github.com/academysoftwarefoundation/openimageio/commit/134977da625a84fc5a09a34321806f1fe0093c24","target":{"function":"GifBegin","file":"src/gif.imageio/gif.h"},"deprecated":false,"digest":{"function_hash":"280890982112484581011571934644656654056","length":1149},"id":"CVE-2026-65969-2a0b1b9d","signature_type":"Function"},{"source":"https://github.com/academysoftwarefoundation/openimageio/commit/134977da625a84fc5a09a34321806f1fe0093c24","target":{"file":"src/gif.imageio/gifinput.cpp"},"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"},{"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":{"function_hash":"117020163761170656504881838889680603841","length":402}},{"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},{"deprecated":false,"digest":{"length":2661,"function_hash":"61633928576923601978130552566882237211"},"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"}}]}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H"}]}