CVE-2026-63638: OpenImageIO: Cineon invalid bit depth heap out-of-bounds write

Published Sep 18, 2026
·
Updated

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 crafted cineon image can declare unsupported component bit depth 26. cineoninput::open() maps it to a 32-bit imagespec, but libcineon maps the unsupported depth to an 8-byte value, so cineoninput::readnativescanline() causes attacker-controlled data to be written beyond the 4-byte-per-pixel caller buffer, resulting in a heap out-of-bounds write and memory corruption. The affected implementation is identified by src/cineon.imageio/cineoninput.cpp, CineonInput::open(), CineonInput::readnativescanline(), ComponentDataSize(), bit depth 26, and ImageSpec, 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.

Affected Software

1 affected component
Openimageio Openimageio>0<=3.0.21.0, >0<=3.1.16.0, >0<=3.2.0.3-beta1

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Upgrade

    Upgrade OpenImageIO to a version that resolves this vulnerability.

    Fixed in 3.0.21.0
  2. Upgrade

    Upgrade OpenImageIO to a version that resolves this vulnerability.

    Fixed in 3.1.16.0
  3. Upgrade

    Upgrade OpenImageIO to a version that resolves this vulnerability.

    Fixed in 3.2.0.3-beta1

Event History

Sep 18, 2026
CVE Published
via MITRE·03:47 PM
Data Sourced
via MITRE·03:47 PM
DescriptionSeverityWeakness

Frequently Asked Questions

1

Which deployments are exposed to this issue?

Deployments that process attacker-controlled Cineon image files are exposed if they use an affected OpenImageIO version. The vulnerable code path is in CineonInput::open() and CineonInput::read_native_scanline().

2

What must an attacker provide to trigger the memory corruption?

An attacker needs to cause the application to open and read a crafted Cineon image declaring component bit depth 26. User interaction is required according to the supplied severity vector.

3

How can I determine whether a file may be attempting to exploit this issue?

Inspect Cineon inputs for a declared component bit depth of 26. That unsupported depth causes the mismatch between the 32-bit ImageSpec representation and libcineon's 8-byte component value.

4

Which versions contain the fix?

The issue is fixed in OpenImageIO 3.0.21.0, 3.1.16.0, and 3.2.0.3-beta1. Versions prior to those releases are affected.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203