FFmpeg versions 2.1 through 8.1.2 contains a heap buffer overflow vulnerability in the VobSub subtitle demuxer that allows attackers to corrupt adjacent heap memory by supplying a malicious .sub/.idx subtitle file declaring more distinct stream IDs than the fixed-size array bounds in libavformat/mpeg.c. Attackers can craft a subtitle file with excessive distinct stream IDs to trigger unbounded writes beyond the vobsub->q[] array boundary via ff_subtitles_queue_insert(), potentially achieving arbitrary code execution in any application using FFmpegs VobSub demuxer.
A heap overflow condition is a buffer overflow, where the buffer that can be overwritten is allocated in the heap portion of memory, generally meaning that the buffer was allocated using a routine such as malloc().
| Name | Vendor | Start Version | End Version |
|---|---|---|---|
| Ffmpeg | Ffmpeg | 2.1 (including) | 8.1.2 (including) |
| Red Hat Enterprise Linux AI 3.3 for RHEL 9 | RedHat | ffmpeg-0:6.1.6-9.el9ai | * |
| Red Hat Enterprise Linux AI 3.4 for RHEL 9 | RedHat | ffmpeg-0:6.1.6-9.el9ai | * |
| Red Hat Enterprise Linux AI 3.5 for RHEL 9 | RedHat | ffmpeg-0:6.1.6-9.el9ai | * |
| Red Hat AI Inference Server 3.2 | RedHat | rhaiis/vllm-cuda-rhel9:1787860580 | * |
| Red Hat AI Inference Server 3.2 | RedHat | rhaiis/model-opt-cuda-rhel9:1787772157 | * |
| Red Hat AI Inference Server 3.2 | RedHat | rhaiis/vllm-rocm-rhel9:1787884873 | * |
| Ffmpeg | Ubuntu | devel | * |
| Ffmpeg | Ubuntu | esm-apps-legacy/xenial | * |
| Ffmpeg | Ubuntu | esm-apps/bionic | * |
| Ffmpeg | Ubuntu | esm-apps/focal | * |
| Ffmpeg | Ubuntu | esm-apps/jammy | * |
| Ffmpeg | Ubuntu | esm-apps/noble | * |
| Ffmpeg | Ubuntu | esm-apps/resolute | * |
| Ffmpeg | Ubuntu | jammy | * |
| Ffmpeg | Ubuntu | noble | * |
| Ffmpeg | Ubuntu | resolute | * |
| Ffmpeg | Ubuntu | upstream | * |