Integer Overflow or Wraparound Affecting openimageio package, versions <2.1.12.0~dfsg0-1ubuntu0.1~esm1


Severity

Recommended
medium

Based on Ubuntu security rating.

Threat Intelligence

EPSS
0.37% (29th percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk IDSNYK-UBUNTU2004-OPENIMAGEIO-16781527
  • published17 Jun 2026
  • disclosed14 May 2026

Introduced: 14 May 2026

CVE-2026-43907  (opens in a new tab)
CWE-190  (opens in a new tab)
CWE-787  (opens in a new tab)

How to fix?

Upgrade Ubuntu:20.04 openimageio to version 2.1.12.0dfsg0-1ubuntu0.1esm1 or higher.

NVD Description

Note: Versions mentioned in the description apply only to the upstream openimageio package and not the openimageio package as distributed by Ubuntu. See How to fix? for Ubuntu:20.04 relevant fixed versions and status.

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 integer overflow in QueryRGBBufferSizeInternal() in DPXColorConverter.cpp leads to a heap-based out-of-bounds write when processing crafted DPX image files. The function computes buffer sizes using 32-bit signed integer arithmetic with negative multipliers (e.g., pixels * -3 * bytes for kCbYCr descriptors and pixels * -4 * bytes for kABGR descriptors), where a negative result is used as an in-band signal that no separate buffer is needed. When the pixel count is sufficiently large, the multiplication overflows INT_MIN and wraps to a small positive value. The caller in dpxinput.cpp interprets this positive value as a required buffer size, allocates an undersized heap buffer via m_decodebuf.resize(), and then writes the full image data into it via fread, resulting in a heap buffer overflow. An attacker can exploit this by crafting a DPX file that triggers the overflow, causing a denial of service (crash) or potentially arbitrary code execution through heap corruption in any application that reads pixel data using OpenImageIO. This vulnerability is fixed in 3.0.18.0 and 3.1.13.0.