In libavformat/mxfdec.c in FFmpeg 3.3.3 -> 2.4, a DoS in mxfreadindexentryarray() due to lack of an EOF (End of File) check might cause huge CPU consumption. When a crafted MXF file, which claims a large "nbindexentries" field in the header but does not contain sufficient backing data, is provided, the loop would consume huge CPU resources, since there is no EOF check inside the loop. Moreover, this big loop can be invoked multiple times if there is more than one applicable data segment in the crafted MXF file.
{ "availability": "No subscription required", "ubuntu_priority": "medium", "binaries": [ { "binary_version": "7:2.8.14-0ubuntu0.16.04.1", "binary_name": "ffmpeg" }, { "binary_version": "7:2.8.14-0ubuntu0.16.04.1", "binary_name": "ffmpeg-dbg" }, { "binary_version": "7:2.8.14-0ubuntu0.16.04.1", "binary_name": "ffmpeg-dbgsym" }, { "binary_version": "7:2.8.14-0ubuntu0.16.04.1", "binary_name": "ffmpeg-doc" }, { "binary_version": "7:2.8.14-0ubuntu0.16.04.1", "binary_name": "libav-tools" }, { "binary_version": "7:2.8.14-0ubuntu0.16.04.1", "binary_name": "libavcodec-dev" }, { "binary_version": "7:2.8.14-0ubuntu0.16.04.1", "binary_name": "libavcodec-extra" }, { "binary_version": "7:2.8.14-0ubuntu0.16.04.1", "binary_name": "libavcodec-ffmpeg-extra56" }, { "binary_version": "7:2.8.14-0ubuntu0.16.04.1", "binary_name": "libavcodec-ffmpeg-extra56-dbgsym" }, { "binary_version": "7:2.8.14-0ubuntu0.16.04.1", "binary_name": "libavcodec-ffmpeg56" }, { "binary_version": "7:2.8.14-0ubuntu0.16.04.1", "binary_name": "libavcodec-ffmpeg56-dbgsym" }, { "binary_version": "7:2.8.14-0ubuntu0.16.04.1", "binary_name": "libavdevice-dev" }, { "binary_version": "7:2.8.14-0ubuntu0.16.04.1", "binary_name": "libavdevice-ffmpeg56" }, { "binary_version": "7:2.8.14-0ubuntu0.16.04.1", "binary_name": "libavdevice-ffmpeg56-dbgsym" }, { "binary_version": "7:2.8.14-0ubuntu0.16.04.1", "binary_name": "libavfilter-dev" }, { "binary_version": "7:2.8.14-0ubuntu0.16.04.1", "binary_name": "libavfilter-ffmpeg5" }, { "binary_version": "7:2.8.14-0ubuntu0.16.04.1", "binary_name": "libavfilter-ffmpeg5-dbgsym" }, { "binary_version": "7:2.8.14-0ubuntu0.16.04.1", "binary_name": "libavformat-dev" }, { "binary_version": "7:2.8.14-0ubuntu0.16.04.1", "binary_name": "libavformat-ffmpeg56" }, { "binary_version": "7:2.8.14-0ubuntu0.16.04.1", "binary_name": "libavformat-ffmpeg56-dbgsym" }, { "binary_version": "7:2.8.14-0ubuntu0.16.04.1", "binary_name": "libavresample-dev" }, { "binary_version": "7:2.8.14-0ubuntu0.16.04.1", "binary_name": "libavresample-ffmpeg2" }, { "binary_version": "7:2.8.14-0ubuntu0.16.04.1", "binary_name": "libavresample-ffmpeg2-dbgsym" }, { "binary_version": "7:2.8.14-0ubuntu0.16.04.1", "binary_name": "libavutil-dev" }, { "binary_version": "7:2.8.14-0ubuntu0.16.04.1", "binary_name": "libavutil-ffmpeg54" }, { "binary_version": "7:2.8.14-0ubuntu0.16.04.1", "binary_name": "libavutil-ffmpeg54-dbgsym" }, { "binary_version": "7:2.8.14-0ubuntu0.16.04.1", "binary_name": "libpostproc-dev" }, { "binary_version": "7:2.8.14-0ubuntu0.16.04.1", "binary_name": "libpostproc-ffmpeg53" }, { "binary_version": "7:2.8.14-0ubuntu0.16.04.1", "binary_name": "libpostproc-ffmpeg53-dbgsym" }, { "binary_version": "7:2.8.14-0ubuntu0.16.04.1", "binary_name": "libswresample-dev" }, { "binary_version": "7:2.8.14-0ubuntu0.16.04.1", "binary_name": "libswresample-ffmpeg1" }, { "binary_version": "7:2.8.14-0ubuntu0.16.04.1", "binary_name": "libswresample-ffmpeg1-dbgsym" }, { "binary_version": "7:2.8.14-0ubuntu0.16.04.1", "binary_name": "libswscale-dev" }, { "binary_version": "7:2.8.14-0ubuntu0.16.04.1", "binary_name": "libswscale-ffmpeg3" }, { "binary_version": "7:2.8.14-0ubuntu0.16.04.1", "binary_name": "libswscale-ffmpeg3-dbgsym" } ] }