FFmpeg versions 4.4 through 8.1.2 contain a double-free vulnerability in the NVIDIA NVDEC hardware decoder within libavcodec/nvdec.c that allows attackers to trigger memory corruption by supplying a crafted video file. When no decoder surfaces remain, the ff_nvdec_start_frame_sep_ref error path frees memory via nvdec_fdd_priv_free while the calling layer subsequently frees the same frame description data, resulting in a double-free of the underlying decoder context in any FFmpeg-based application using NVDEC hardware-accelerated decoding.
The product calls free() twice on the same memory address.
| Name | Vendor | Start Version | End Version |
|---|---|---|---|
| Ffmpeg | Ffmpeg | 4.4 (including) | 8.1.2 (including) |
| Ffmpeg | Ubuntu | devel | * |
| 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 | * |