FFmpeg перед фиксацией b4c199c содержит неправильное преобразование сужения целых чисел в пакетизаторе RTP AV1 (libavformat/rtpenc_av1.c). Размер OBU изменяется задолго до сравнения с остальным размером кадра. На целевых объектах, где длина равна 32 битам, включая 64-битную Windows, достаточно большие значения размера OBU меняют знак с помощью сужающего приведения, создавая отрицательное значение, которое проходит проверку размера полезной нагрузки.
Это позволяет OBU большего размера обходить ограничения безопасности на затронутых платформах, что приводит к доступу за пределы памяти, когда значение слишком большого размера впоследствии используется в качестве длины копии.
Показать оригинальное описание (EN)
FFmpeg before commit b4c199c contains an incorrect integer narrowing conversion in the AV1 RTP packetizer (libavformat/rtpenc_av1.c). The OBU size is cast to long before comparison against the remaining frame size. On targets where long is 32 bits, including 64-bit Windows, sufficiently large OBU size values are sign-flipped by the narrowing cast, producing a negative value that passes the payload size check. This allows an oversized OBU to bypass the safety bound on affected platforms, leading to out-of-bounds memory access when the oversized value is subsequently used as a copy length.
Характеристики атаки
Последствия
Строка CVSS v4.0