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, the bounds check in TGAInput::decodepixel computes k + palbytespp as unsigned 32-bit arithmetic. When k = 0xFFFFFFFC and palbytespp = 4, the addition wraps to 0, which compares less than palettealloc_size and passes the check. The subsequent palette access uses the unwrapped k (0xFFFFFFFC) as the index, reading ~4 GB past the start of the palette buffer — SEGV. This vulnerability is fixed in 3.0.18.0 and 3.1.13.0.
{
"binaries": [
{
"binary_version": "1.6.11~dfsg0-1ubuntu1+esm2",
"binary_name": "libopenimageio1.6"
},
{
"binary_version": "1.6.11~dfsg0-1ubuntu1+esm2",
"binary_name": "openimageio-tools"
},
{
"binary_version": "1.6.11~dfsg0-1ubuntu1+esm2",
"binary_name": "python-openimageio"
}
]
}{
"binaries": [
{
"binary_version": "1.7.17~dfsg0-1ubuntu2+esm1",
"binary_name": "libopenimageio1.7"
},
{
"binary_version": "1.7.17~dfsg0-1ubuntu2+esm1",
"binary_name": "openimageio-tools"
},
{
"binary_version": "1.7.17~dfsg0-1ubuntu2+esm1",
"binary_name": "python-openimageio"
}
]
}{
"binaries": [
{
"binary_version": "2.1.12.0~dfsg0-1ubuntu0.1~esm1",
"binary_name": "libopenimageio2.1"
},
{
"binary_version": "2.1.12.0~dfsg0-1ubuntu0.1~esm1",
"binary_name": "openimageio-tools"
},
{
"binary_version": "2.1.12.0~dfsg0-1ubuntu0.1~esm1",
"binary_name": "python3-openimageio"
}
]
}{
"binaries": [
{
"binary_version": "2.4.17.0+dfsg-1.1ubuntu0.1~esm1",
"binary_name": "libopenimageio2.4t64"
},
{
"binary_version": "2.4.17.0+dfsg-1.1ubuntu0.1~esm1",
"binary_name": "openimageio-tools"
},
{
"binary_version": "2.4.17.0+dfsg-1.1ubuntu0.1~esm1",
"binary_name": "python3-openimageio"
}
]
}{
"binaries": [
{
"binary_version": "2.5.19.1+dfsg-2ubuntu0.1~esm1",
"binary_name": "libopenimageio2.5"
},
{
"binary_version": "2.5.19.1+dfsg-2ubuntu0.1~esm1",
"binary_name": "openimageio-tools"
},
{
"binary_version": "2.5.19.1+dfsg-2ubuntu0.1~esm1",
"binary_name": "python3-openimageio"
}
]
}