Read the docs
TI-2026-31972 Aliases CVE-2026-43909

OpenImageIO: Signed integer overflow in SwapRGBABytes loop index leads to out-of-bounds read/write in DPX ABGR decoder

Priority HIGH 73CWE-125Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
Required
Attack complexity
Low
Impact type
Code execution
Confidentiality · integrity · availability
High · High · High
Fix status
Fixed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-190 and the CVSS impact.

Summary

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.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00371 31st percentileScored 2026-11-07
Public exploit Yes 1 exploit referenceTagged by NVD
Fix Fixed OpenImageIO (AcademySoftwareFoundation): 3.0.18.0, 3.1.13.0

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
No
Technical impact
Total

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
AcademySoftwareFoundationOpenImageIObefore 3.0.18.0; 3.1.4.0-beta to before 3.1.13.03.0.18.0, 3.1.13.0Patch availableCNA
  • OpenImageIO VendorAcademySoftwareFoundation Affected before 3.0.18.0; 3.1.4.0-beta to before 3.1.13.0 Fixed in 3.0.18.0, 3.1.13.0 Patch available CNA

CPE configurations NVD · 3

CPEVersionsRoleVendor
cpe:2.3:a:openimageio:openimageio:*:*:*:*:*:*:*:*before 3.0.18.0; 3.1.4.0 to before 3.1.13.0VulnerableOpenImageIO Project
cpe:2.3:a:openimageio:openimageio:3.2.0.0:dev:*:*:*:*:*:*3.2.0.0 devVulnerableOpenImageIO Project
cpe:2.3:a:openimageio:openimageio:3.2.0.2:dev:*:*:*:*:*:*3.2.0.2 devVulnerableOpenImageIO Project
  • cpe:2.3:a:openimageio:openimageio:*:*:*:*:*:*:*:* Versions before 3.0.18.0; 3.1.4.0 to before 3.1.13.0 Vulnerable ·OpenImageIO Project
  • cpe:2.3:a:openimageio:openimageio:3.2.0.0:dev:*:*:*:*:*:* Versions 3.2.0.0 dev Vulnerable ·OpenImageIO Project
  • cpe:2.3:a:openimageio:openimageio:3.2.0.2:dev:*:*:*:*:*:* Versions 3.2.0.2 dev Vulnerable ·OpenImageIO Project

Remediation

  • Fix · CNA OpenImageIO (AcademySoftwareFoundation) Fixed in 3.0.18.0, 3.1.13.0

Vendor assessments

Red Hat

Red Hat's page for this CVE →

Not affected: 1 product
  • Red Hat

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-43909

References

  • TI-2026-30739 OpenColorIO vulnerable to stack buffer overflow via unbounded `sscanf %s` in Spi3D (.spi3d) LUT parser CVSS 4.0HIGH 8.4
  • TI-2026-38605 OpenEXR: Unhandled assert abort in HTJ2K decoder via crafted QCD marker (DoS) CVSS 4.0HIGH 7.1
  • TI-2026-48281 OpenEXR: Heap out-of-bounds write in exrmultiview with subsampled channel union CVSS 3.1HIGH 7.1
  • TI-2026-48279 OpenEXR: Heap buffer overflow in PyOpenEXR from literal/prefixed RGB channel name collision CVSS 3.1HIGH 7.1
  • TI-2026-42768 OpenEXR: Heap OOB read in SampleCountChannel row when using nonzero dataWindow CVSS 3.1HIGH 7.1
  • TI-2026-42338 OpenEXR: Out-of-bounds read in DeepImageChannel::row() for non-zero dataWindow origin CVSS 3.1HIGH 7.1
See all 26 →

Sources