В libavif до версии 1.3.0 функция avifImageRGBToYUV в файле reformat.c содержит целочисленные переполнения при умножении, включающие rgbRow…
В libavif до версии 1.3.0 функция avifImageRGBToYUV в файле reformat.c содержит целочисленные переполнения при умножении, включающие rgbRowBytes, yRowBytes, uRowBytes и vRowBytes. Это было исправлено путем объявления переменных *RowBytes как size_t, что предотвращает переполнение при больших размерах изображения [1]. Источники: - [1] https://github.com/AOMediaCodec/libavif/commit/64d956ed5a602f78cebf29da023280944ee92efd - [2] https://github.com/AOMediaCodec/libavif/pull/2769 - [3] https://github.com/AOMediaCodec/libavif/security/advisories/GHSA-762c-2538-h844
Продукт выполняет вычисление, которое может привести к переполнению или обратному переходу целого числа, когда логика предполагает, что результирующее значение всегда будет больше исходного. Это происходит, когда целочисленное значение увеличивается до величины, превышающей допустимый предел для используемого представления. В этом случае значение может стать очень маленьким или отрицательным.
https://cwe.mitre.org/data/definitions/190.html →Открыть в коллекции CWE →Данная атака приводит к выходу целочисленной переменной за допустимый диапазон значений. Целочисленная переменная нередко используется в качестве смещения, например при выделении памяти и т. п. Злоумышленник, как правило, контролирует значение такой переменной и стремится вывести его за допустимые границы. Например, если рассматриваемое целое число инкрементируется сверх максимально допустимого значения, оно может обернуться в очень маленькое или отрицательное число, что повлечёт некорректное поведение. В худшем случае злоумышленник может выполнить произвольный код.
https://capec.mitre.org/data/definitions/92.html →Открыть в коллекции CAPEC →