Description
OpenEXR provides the specification and reference implementation of the EXR file format, an image storage format for the motion picture industry. From versions 3.0.0 to before 3.2.9, 3.3.0 to before 3.3.11, and 3.4.0 to before 3.4.11, readVariableLengthInteger() decodes a variable-length integer from untrusted EXR input without bounding the shift count. After enough continuation bytes, the code executes a left shift by 70 on a 64-bit value, which is undefined behavior. This issue has been patched in versions 3.2.9, 3.3.11, and 3.4.11.
Problem types
CWE-190: Integer Overflow or Wraparound
Product status
>= 3.3.0, < 3.3.11
>= 3.4.0, < 3.4.11
References
github.com/...penexr/security/advisories/GHSA-3c67-4wwp-w52m
github.com/AcademySoftwareFoundation/openexr/pull/2378
github.com/...ommit/21eaa33bcbbb0c83a5fc42f6b6d65b70a996e63c