OpenEXR предоставляет спецификацию и эталонную реализацию формата файлов EXR, формата хранения изображений для киноиндустрии. В версиях с 3.3.0 по 3.3.6 и с 3.4.0 по 3.4.4 переполнение буфера кучи (чтение OOB) происходит в функции istream_nonparallel_read в ImfContextInit.cpp при анализе искаженного EXR-файла через отображенный в памяти IStream. Вычитание целого числа со знаком дает отрицательное значение, которое неявно преобразуется в `size_t`, в результате чего в `memcpy` передается огромная длина.
Версии 3.3.7 и 3.4.5 содержат патч.
Показать оригинальное описание (EN)
OpenEXR provides the specification and reference implementation of the EXR file format, an image storage format for the motion picture industry. In versions 3.3.0 through 3.3.6 and 3.4.0 through 3.4.4, a heap-buffer-overflow (OOB read) occurs in the `istream_nonparallel_read` function in `ImfContextInit.cpp` when parsing a malformed EXR file through a memory-mapped `IStream`. A signed integer subtraction produces a negative value that is implicitly converted to `size_t`, resulting in a massive length being passed to `memcpy`. Versions 3.3.7 and 3.4.5 contain a patch.
Характеристики атаки
Последствия
Строка CVSS v3.1