{"schemaVersion":3,"id":"CVE-2026-43909","aliases":["UBUNTU-CVE-2026-43909","DEBIAN-CVE-2026-43909"],"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.18.0 and 3.1.13.0, a signed 32-bit integer overflow in the loop index expression i * 4 inside SwapRGBABytes() causes the function to compute a large negative pointer offset when processing kABGR DPX images with large dimensions. The immediate crash is an out-of-bounds read (the memcpy at line 45 reads from &input[i * 4] first), but the subsequent write operations at lines 46–49 target the same wrapped offset — making this a combined OOB read+write primitive. This vulnerability is fixed in 3.0.18.0 and 3.1.13.0.","dates":{"published":"2026-05-14T19:00:20.014Z","modified":"2026-05-14T19:49:59.966Z","reserved":null,"kevAdded":[],"kevDue":[]},"cvss":{"headline":{"score":8.8,"severity":"high","version":"3.1","versionLabel":"v3.1","source":"CVE.org","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","computed":false,"selection":"backend-summary"},"metrics":[{"version":"3.1","versionLabel":"v3.1","source":"CVE.org","score":8.8,"severity":"high","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","exploitability":null,"impact":null,"computed":false},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Ubuntu","score":8.8,"severity":"high","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","exploitability":7.2,"impact":9.8,"computed":true},{"version":"3.1","versionLabel":"v3.1","source":"OSV · Debian","score":8.8,"severity":"high","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","exploitability":7.2,"impact":9.8,"computed":true},{"version":"3.1","versionLabel":"v3.1","source":"NVD","score":8.8,"severity":"high","vector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H","exploitability":null,"impact":null,"computed":false}]},"epss":{"probability":0.00451,"percentile":0.37929,"severity":"low","asOf":"2026-10-20T00:00:00.000Z","change":{"pp":0.07999999999999999,"baselineDate":"2026-09-20T00:00:00.000Z","baselineScore":0.00371},"history":[{"date":"2026-09-14T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-09-15T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-09-16T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-09-17T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-09-18T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-09-19T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-09-20T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00451,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00451,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00451,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00451,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00451,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00451,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00451,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00451,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00451,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00451,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00451,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00451,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00451,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00451,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00451,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00451,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00451,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00451,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00451,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00451,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00451,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00451,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00451,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00451,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00451,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00451,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00451,"percentile":0.37929}],"last30":[{"date":"2026-09-20T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-09-21T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-09-22T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-09-23T00:00:00.000Z","score":0.00371,"percentile":null},{"date":"2026-09-24T00:00:00.000Z","score":0.00451,"percentile":null},{"date":"2026-09-25T00:00:00.000Z","score":0.00451,"percentile":null},{"date":"2026-09-26T00:00:00.000Z","score":0.00451,"percentile":null},{"date":"2026-09-27T00:00:00.000Z","score":0.00451,"percentile":null},{"date":"2026-09-28T00:00:00.000Z","score":0.00451,"percentile":null},{"date":"2026-09-29T00:00:00.000Z","score":0.00451,"percentile":null},{"date":"2026-09-30T00:00:00.000Z","score":0.00451,"percentile":null},{"date":"2026-10-01T00:00:00.000Z","score":0.00451,"percentile":null},{"date":"2026-10-02T00:00:00.000Z","score":0.00451,"percentile":null},{"date":"2026-10-03T00:00:00.000Z","score":0.00451,"percentile":null},{"date":"2026-10-04T00:00:00.000Z","score":0.00451,"percentile":null},{"date":"2026-10-05T00:00:00.000Z","score":0.00451,"percentile":null},{"date":"2026-10-06T00:00:00.000Z","score":0.00451,"percentile":null},{"date":"2026-10-07T00:00:00.000Z","score":0.00451,"percentile":null},{"date":"2026-10-08T00:00:00.000Z","score":0.00451,"percentile":null},{"date":"2026-10-09T00:00:00.000Z","score":0.00451,"percentile":null},{"date":"2026-10-10T00:00:00.000Z","score":0.00451,"percentile":null},{"date":"2026-10-11T00:00:00.000Z","score":0.00451,"percentile":null},{"date":"2026-10-12T00:00:00.000Z","score":0.00451,"percentile":null},{"date":"2026-10-13T00:00:00.000Z","score":0.00451,"percentile":null},{"date":"2026-10-14T00:00:00.000Z","score":0.00451,"percentile":null},{"date":"2026-10-15T00:00:00.000Z","score":0.00451,"percentile":null},{"date":"2026-10-16T00:00:00.000Z","score":0.00451,"percentile":null},{"date":"2026-10-17T00:00:00.000Z","score":0.00451,"percentile":null},{"date":"2026-10-18T00:00:00.000Z","score":0.00451,"percentile":null},{"date":"2026-10-19T00:00:00.000Z","score":0.00451,"percentile":null},{"date":"2026-10-20T00:00:00.000Z","score":0.00451,"percentile":0.37929}]},"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"},{"id":"CWE-787","name":"Out-of-bounds Write","description":"The product writes data past the end, or before the beginning, of the intended buffer.","type":"weakness","status":"Draft","abstraction":"Base","likelihoodOfExploit":"High","url":"https://cwe.mitre.org/data/definitions/787.html"}],"affected":[{"vendor":"academysoftwarefoundation","product":"openimageio","name":"OpenImageIO","label":"openimageio","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"< 3.0.18.0","noFixRecorded":false,"fixedIn":null},{"text":"≥ 3.1.4.0-beta, < 3.1.13.0","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 3.0.18.0 | ≥ 3.1.4.0-beta, < 3.1.13.0","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":"< 1.6.11~dfsg0-1ubuntu1+esm2","noFixRecorded":false,"fixedIn":null},{"text":"< 1.7.17~dfsg0-1ubuntu2+esm1","noFixRecorded":false,"fixedIn":null},{"text":"< 2.1.12.0~dfsg0-1ubuntu0.1~esm1","noFixRecorded":false,"fixedIn":null},{"text":"All versions","noFixRecorded":true,"fixedIn":null},{"text":"< 2.4.17.0+dfsg-1.1ubuntu0.1~esm1","noFixRecorded":false,"fixedIn":null},{"text":"< 2.5.19.1+dfsg-2ubuntu0.1~esm1","noFixRecorded":false,"fixedIn":null}],"versionsText":"< 1.6.11~dfsg0-1ubuntu1+esm2 | < 1.7.17~dfsg0-1ubuntu2+esm1 | < 2.1.12.0~dfsg0-1ubuntu0.1~esm1 | All versions (No fix recorded) | < 2.4.17.0+dfsg-1.1ubuntu0.1~esm1 | < 2.5.19.1+dfsg-2ubuntu0.1~esm1","eol":null,"hubHref":null},{"vendor":"openimageio","product":"openimageio","name":"openimageio","label":"openimageio","ecosystem":null,"cpePart":"a","purl":null,"purlType":null,"versions":[{"text":"< 3.0.18.0","noFixRecorded":false,"fixedIn":null},{"text":"≥ 3.1.4.0, < 3.1.13.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.18.0 | ≥ 3.1.4.0, < 3.1.13.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-g267-j53j-5258","label":"github.com/AcademySoftwareFoundation/OpenImageIO/security/advisories/GHSA-g267-j53j-5258","hostname":"github.com","tags":["X Refsource CONFIRM","REPORT","Exploit","Vendor Advisory"]},{"url":"https://ubuntu.com/security/CVE-2026-43909","label":"ubuntu.com/security/CVE-2026-43909","hostname":"ubuntu.com","tags":["REPORT"]},{"url":"https://www.cve.org/CVERecord?id=CVE-2026-43909","label":"www.cve.org/CVERecord?id=CVE-2026-43909","hostname":"www.cve.org","tags":["REPORT"]},{"url":"https://security-tracker.debian.org/tracker/CVE-2026-43909","label":"security-tracker.debian.org/tracker/CVE-2026-43909","hostname":"security-tracker.debian.org","tags":["Advisory"]}],"lineage":{"upstream":[],"downstream":["USN-8438-1"],"duplicates":[],"related":[]},"timeline":[{"kind":"published","date":"2026-05-14T19:00:20.014Z","label":"Published","detail":"Vulnerability first disclosed.","source":null},{"kind":"modified","date":"2026-05-14T19:49:59.966Z","label":"Last modified","detail":"Vulnerability information updated.","source":null}],"risk":{"score":45,"level":"medium","profile":"Default","thresholds":{"critical":75,"high":50,"medium":25,"low":10}},"meta":{"dataAsOf":"2026-10-21T12:43:52.492Z","stale":false,"partial":false}}