Heap out-of-bounds read in OpenImageIO Cineon reader
Key facts
- Attack vector
- Local
- Privileges required
- None
- User interaction
- Passive
- Attack complexity
- Low
- Attack requirements
- None
- Impact type
- Denial of service
- Confidentiality · integrity · availability
- None · None · High
- Fix status
- Fixed
Attack profile from CVSS 4.0 · CNA. Fix status from CNA. Impact type from CWE-190 and the CVSS impact.
Summary
OpenImageIO before 3.0.20.0, from 3.1.0.0 before 3.1.15.0, and from 3.2.0.0-dev before 3.2.0.3-beta1 is affected. An integer overflow (CWE-190) in cineon::Codec::Read undersizes the scanline buffer, so the reader reads past a heap buffer. A local attacker can craft a Cineon file with a huge declared width, and if a user opens it, the application reads out of bounds and crashes.
Written with Claude Haiku 5.5 from the sources below · 2026-10-28
Description from the CNA
OpenImageIO before 3.0.20.0, 3.1.x before 3.1.15.0, and 3.2.x before 3.2.0.3-beta1 contains an integer overflow in cineon::Codec::Read that undersizes the scanline buffer, causing a heap out-of-bounds read. Attackers can supply a crafted Cineon file with a huge declared width that wraps the size calculation to zero, so UnPackPacked reads past a 4-byte buffer and crashes the application.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| AcademySoftwareFoundation | OpenImageIO | before 3.0.20.0; 3.1.0.0 to before 3.1.15.0; 3.2.0.0-dev to before 3.2.0.3-beta1 | 3.0.20.0, 3.1.15.0, 3.2.0.3-beta1 | Patch available | CNA |
- OpenImageIO VendorAcademySoftwareFoundation Affected before 3.0.20.0; 3.1.0.0 to before 3.1.15.0; 3.2.0.0-dev to before 3.2.0.3-beta1 Fixed in 3.0.20.0, 3.1.15.0, 3.2.0.3-beta1 Patch available CNA
CPE names Threatist (inferred) · 1
Inferred from how NVD named this product before; not given by a source.
| CPE | Versions | Role | Vendor |
|---|---|---|---|
| cpe:2.3:a:openimageio:openimageio:*:*:*:*:*:*:*:* | — | — | OpenImageIO Project |
- cpe:2.3:a:openimageio:openimageio:*:*:*:*:*:*:*:* Versions — — ·OpenImageIO Project
Remediation
Update OpenImageIO to the fixed version for your branch: 3.0.20.0, 3.1.15.0 or 3.2.0.3-beta1.
Written with Claude Haiku 5.5 from the sources below · 2026-10-28
- Fix · CNA OpenImageIO (AcademySoftwareFoundation) Fixed in 3.0.20.0, 3.1.15.0, 3.2.0.3-beta1
Vendor assessments
Timeline
- 2026-10-20 Threatist record created from CVE-2026-113681
- 2026-10-20 CISA SSVC decision points changed
- 2026-10-20 Priority changed: MEDIUM → LOW
- 2026-10-21 Alias added: GHSA-pxpf-24pm-xj4x
- 2026-10-21 Affected versions changed · Red Hat
- 2026-10-21 CVSS score added · Red Hat
References
Patch 3
More AcademySoftwareFoundation vulnerabilities
- 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
Sources
- CVE-2026-113681 · CVE Program
- CVE-2026-113681 · NVD
- FIRST EPSS
- GHSA-pxpf-24pm-xj4x · GitHub Advisory Database · CC BY 4.0
- CVE-2026-113681 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences