CVE-2026-59181: OpenImageIO: Stack buffer overflow in OpenImageIO Cineon reader via unchecked numberOfElements
OpenImageIO is a toolset for reading, writing, and manipulating image files of any image file format relevant to VFX / animation. Prior to 3.0.20.0, 3.1.15.0, and 3.2.0.3-beta1, A crafted cineon file can supply a numberofelements value greater than the format maximum of eight. cineoninput::open() uses that unchecked value as the loop bound while filling the fixed strings[8] array, writing pointers beyond the stack buffer and into adjacent state, resulting in memory corruption and denial of service. The affected implementation is identified by src/cineon.imageio/cineoninput.cpp, CineonInput::open(), numberOfElements, and strings[8], which define the relevant source path, functions, state, and trigger. This issue is fixed in versions 3.0.20.0, 3.1.15.0, and 3.2.0.3-beta1.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
OpenImageIOto a version that resolves this vulnerability.Fixed in 3.0.20.0 - Upgrade
Upgrade
OpenImageIOto a version that resolves this vulnerability.Fixed in 3.1.15.0 - Upgrade
Upgrade
OpenImageIOto a version that resolves this vulnerability.Fixed in 3.2.0.3-beta1
Event History
Frequently Asked Questions
What conditions are required for exploitation?
The attacker needs local access and must get a user to open a crafted Cineon file. No privileges are required.
Which deployments are most exposed?
Deployments that use OpenImageIO to open Cineon files are exposed if they run a version earlier than 3.0.20.0, 3.1.15.0, or 3.2.0.3-beta1, as applicable to their release branch.
What should be done if an immediate update is not possible?
Do not open untrusted Cineon files with the affected OpenImageIO installation until it can be updated. Limit Cineon processing to files from trusted sources.
How can I determine whether a build is affected?
Check the OpenImageIO version in use and whether its Cineon reader includes CineonInput::open() with numberOfElements used as a loop bound when writing into strings[8]. Versions fixed for this issue are 3.0.20.0, 3.1.15.0, and 3.2.0.3-beta1.