{"schemaVersion":3,"id":"CVE-2026-65969","aliases":["UBUNTU-CVE-2026-65969","DEBIAN-CVE-2026-65969"],"status":"published","duplicateOf":null,"title":null,"description":"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.","dates":{"published":"2026-09-18T15:51:10.998Z","modified":"2026-09-21T20:50:44.328Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":5.5,"severity":"medium","version":"3.1","versionLabel":"v3.1","source":"CVE.org","vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","computed":false,"selection":"backend-summary"},"metrics":[{"version":"3.1","versionLabel":"v3.1","source":"CVE.org","score":5.5,"severity":"medium","vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Ubuntu","score":5.5,"severity":"medium","vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","exploitability":4.6,"impact":6,"computed":true},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Debian","score":5.5,"severity":"medium","vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","exploitability":4.6,"impact":6,"computed":true},{"version":"3.1","versionLabel":"v3.1","source":"NVD","score":5.5,"severity":"medium","vector":"CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.00196,"percentile":0.08807,"severity":"low","asOf":"2026-10-21T00:00:00.000Z","change":{"pp":0.066,"baselineDate":"2026-09-21T00:00:00.000Z","baselineScore":0.0013},"history":[{"date":"2026-09-19T00:00:00.000Z","score":0.0013,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.0013,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.0013,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.0013,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.0013,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00172,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00172,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00172,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00172,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00172,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00172,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00196,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00196,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00196,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00196,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00196,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00196,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00196,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00196,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00196,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00196,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00196,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00196,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00196,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00196,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00196,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00196,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00196,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00196,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00196,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00196,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00196,"percentile":null},{"date":"2026-10-21T00:00:00.000Z","score":0.00196,"percentile":0.08807}],"last30":[{"date":"2026-09-21T00:00:00.000Z","score":0.0013,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.0013,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.0013,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00172,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00172,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00172,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00172,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00172,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00172,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00196,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00196,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00196,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00196,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00196,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00196,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00196,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00196,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00196,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00196,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00196,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00196,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00196,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00196,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00196,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00196,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00196,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00196,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00196,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00196,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00196,"percentile":null},{"date":"2026-10-21T00:00:00.000Z","score":0.00196,"percentile":0.08807}]},"kev":{"state":"not-listed","entries":[],"listedCount":0,"totalCatalogs":3,"catalogs":[{"source":"cisa","label":"CISA","listed":false,"entry":null},{"source":"enisa","label":"ENISA","listed":false,"entry":null},{"source":"circl","label":"CIRCL","listed":false,"entry":null}]},"ransomware":{"state":"none-recorded","sources":[]},"exploits":[{"id":"GITHUB_ACADEMYSOFTWAREFOUNDATION_OPENIMAGEIO","name":"Openimageio","source":"github","url":"https://github.com/AcademySoftwareFoundation/OpenImageIO/issues/3840","maturity":"poc","reliabilityScore":0.3,"verified":false,"type":null,"platforms":[],"requiresAuth":null,"exploitdb":null,"metasploit":null}],"exploitCount":1,"weaknesses":[{"id":"CWE-125","name":"Out-of-bounds Read","description":"The product reads data past the end, or before the beginning, of the intended buffer.","type":"weakness","status":"Draft","abstraction":"Base","likelihoodOfExploit":null,"url":"https://cwe.mitre.org/data/definitions/125.html"},{"id":"CWE-190","name":"Integer Overflow or Wraparound","description":"The product performs a calculation that can\n         produce an integer overflow or wraparound when the logic\n         assumes that the resulting value will always be larger than\n         the original value. This occurs when an integer value is\n         incremented to a value that is too large to store in the\n         associated representation. When this occurs, the value may\n         become a very small or negative number.","type":"weakness","status":"Stable","abstraction":"Base","likelihoodOfExploit":"Medium","url":"https://cwe.mitre.org/data/definitions/190.html"}],"affected":[{"vendor":"academysoftwarefoundation","product":"openimageio","name":"OpenImageIO","label":"openimageio","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"< 3.0.21.0","noFixRecorded":false,"fixedIn":null},{"text":"≥ 3.1.0.0, < 3.1.16.0","noFixRecorded":false,"fixedIn":null},{"text":"≥ 3.2.0.0-dev, < 3.2.0.3-beta1","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 3.0.21.0 | ≥ 3.1.0.0, < 3.1.16.0 | ≥ 3.2.0.0-dev, < 3.2.0.3-beta1","eol":null,"hubHref":"/vendor/academysoftwarefoundation/openimageio"},{"vendor":"debian","product":"openimageio","name":"openimageio","label":"openimageio","ecosystem":"Debian","cpePart":null,"purl":"pkg:deb/debian/openimageio","purlType":"deb","versions":[{"text":"All versions","noFixRecorded":true,"fixedIn":null},{"text":"< 3.1.18.0+dfsg-2","noFixRecorded":false,"fixedIn":null}],"versionsText":"All versions (No fix recorded) | < 3.1.18.0+dfsg-2","eol":null,"hubHref":null},{"vendor":"ubuntu","product":"openimageio","name":"openimageio","label":"openimageio","ecosystem":"Ubuntu","cpePart":null,"purl":"pkg:deb/ubuntu/openimageio","purlType":"deb","versions":[{"text":"All versions","noFixRecorded":true,"fixedIn":null}],"versionsText":"All versions (No fix recorded)","eol":null,"hubHref":null},{"vendor":"openimageio","product":"openimageio","name":"openimageio","label":"openimageio","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"< 3.0.21.0","noFixRecorded":false,"fixedIn":null},{"text":"≥ 3.1.0.0, ≤ 3.1.16.0","noFixRecorded":false,"fixedIn":null},{"text":"3.2.0.0:dev","noFixRecorded":false,"fixedIn":null},{"text":"3.2.0.2:dev","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 3.0.21.0 | ≥ 3.1.0.0, ≤ 3.1.16.0 | 3.2.0.0:dev | 3.2.0.2:dev","eol":null,"hubHref":"/vendor/openimageio/openimageio"}],"affectedCount":4,"eol":{"hasEol":false,"count":0},"references":[{"url":"https://github.com/AcademySoftwareFoundation/OpenImageIO/security/advisories/GHSA-9mwc-fjgj-8wmq","label":"github.com/AcademySoftwareFoundation/OpenImageIO/security/advisories/GHSA-9mwc-fjgj-8wmq","hostname":"github.com","tags":["X Refsource CONFIRM","REPORT","Exploit","Vendor Advisory"]},{"url":"https://github.com/AcademySoftwareFoundation/OpenImageIO/pull/5292","label":"github.com/AcademySoftwareFoundation/OpenImageIO/pull/5292","hostname":"github.com","tags":["X Refsource MISC","REPORT","Issue Tracking","Patch"]},{"url":"https://github.com/AcademySoftwareFoundation/OpenImageIO/commit/134977da625a84fc5a09a34321806f1fe0093c24","label":"github.com/AcademySoftwareFoundation/OpenImageIO/commit/134977da625a84fc5a09a34321806f1fe0093c24","hostname":"github.com","tags":["X Refsource MISC","REPORT","Patch"]},{"url":"https://github.com/AcademySoftwareFoundation/OpenImageIO/releases/tag/v3.0.21.0","label":"github.com/AcademySoftwareFoundation/OpenImageIO/releases/tag/v3.0.21.0","hostname":"github.com","tags":["X Refsource MISC","REPORT","Release Notes"]},{"url":"https://github.com/AcademySoftwareFoundation/OpenImageIO/releases/tag/v3.1.16.0","label":"github.com/AcademySoftwareFoundation/OpenImageIO/releases/tag/v3.1.16.0","hostname":"github.com","tags":["X Refsource MISC","REPORT","Release Notes"]},{"url":"https://ubuntu.com/security/CVE-2026-65969","label":"ubuntu.com/security/CVE-2026-65969","hostname":"ubuntu.com","tags":["REPORT"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-65969","label":"www.cve.org/CVERecord?id=CVE-2026-65969","hostname":"www.cve.org","tags":["REPORT"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2026-65969","label":"security-tracker.debian.org/tracker/CVE-2026-65969","hostname":"security-tracker.debian.org","tags":["Advisory"]}],"lineage":{"upstream":[],"downstream":["OPENSUSE-SU-2026:11442-1"],"duplicates":[],"related":["OPENSUSE-SU-2026:11442-1"]},"timeline":[{"kind":"published","date":"2026-09-18T15:51:10.998Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2026-09-21T20:50:44.328Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":32,"level":"medium","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-21T14:36:10.422Z","stale":false,"partial":false}}