Описание
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 th...
| Релиз | Статус | Примечание |
|---|---|---|
| devel | needed | |
| esm-apps-legacy/xenial | released | 1.6.11~dfsg0-1ubuntu1+esm2 |
| esm-apps/bionic | released | 1.7.17~dfsg0-1ubuntu2+esm1 |
| esm-apps/focal | released | 2.1.12.0~dfsg0-1ubuntu0.1~esm1 |
| esm-apps/jammy | deferred | see note |
| esm-apps/noble | released | 2.4.17.0+dfsg-1.1ubuntu0.1~esm1 |
| esm-apps/resolute | released | 2.5.19.1+dfsg-2ubuntu0.1~esm1 |
| jammy | deferred | see note |
| noble | needed | |
| questing | ignored | end of life, was needed |
Показывать по
8.3 High
CVSS3
Связанные уязвимости
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
OpenImageIO is a toolset for reading, writing, and manipulating image ...
Уязвимость функции QueryRGBBufferSizeInternal() библиотеки OpenImageIO, позволяющая нарушителю вызвать отказ в обслуживании
8.3 High
CVSS3