Версии FFmpeg от 3.0 до 9.0, но не включая 9.0, содержат уязвимость чтения неинициализированной кучи памяти в собственном декодере Screenpresso (libavcodec/screenpresso.c), которая позволяет злоумышленникам восстанавливать конфиденциальное содержимое памяти, предоставляя созданному пакету SPV1 действительный поток zlib, который распаковывает меньше байтов, чем требуется для полного кадра. Функция screenpresso_decode_frame() не может проверить количество созданных байтов перед вызовом av_image_copy_plane() для копирования полных размеров кадра из постоянного буфера ctx->inflated_buf, что приводит к копированию незаписанной кучи памяти из предыдущих выделений или предыдущих кадров в декодированные выходные данные и потенциально раскрывает конфиденциальные данные, такие как адреса пользовательского пространства, из служб постоянного декодирования.
Показать оригинальное описание (EN)
FFmpeg versions from 3.0 up to, but not including, 9.0 contain an uninitialized heap memory read vulnerability in the native Screenpresso decoder (libavcodec/screenpresso.c) that allows attackers to recover sensitive memory contents by supplying a crafted SPV1 packet with a valid zlib stream that decompresses fewer bytes than the full frame requires. The screenpresso_decode_frame() function fails to validate the produced byte count before calling av_image_copy_plane() to copy the complete frame dimensions from the persistent ctx->inflated_buf buffer, causing unwritten heap memory from prior allocations or prior frames to be copied into decoded output and potentially exposing sensitive data such as userspace addresses from persistent decoding services.
Характеристики атаки
Последствия
Строка CVSS v4.0