In libavformat/rmdec.c in FFmpeg 3.3.3, a DoS in ivrreadheader() due to lack of an EOF (End of File) check might cause huge CPU consumption. When a crafted IVR file, which claims a large "len" field in the header but does not contain sufficient backing data, is provided, the first type==4 loop would consume huge CPU resources, since there is no EOF check inside the loop.
[
{
"signature_type": "Line",
"target": {
"file": "libavformat/rmdec.c"
},
"digest": {
"line_hashes": [
"234032054447535025478726622637781525984",
"123352030564568524941742042316477844946",
"117292502487100815111164887830115694020",
"167331368778348808159532095529755586265",
"213900236681013805180364471646869887864"
],
"threshold": 0.9
},
"id": "CVE-2017-14054-0fa15e86",
"source": "https://github.com/ffmpeg/ffmpeg/commit/124eb202e70678539544f6268efc98131f19fa49",
"signature_version": "v1",
"deprecated": false
},
{
"signature_type": "Function",
"target": {
"function": "ivr_read_header",
"file": "libavformat/rmdec.c"
},
"digest": {
"length": 3843.0,
"function_hash": "131383091143261345982428874803280954829"
},
"id": "CVE-2017-14054-afe9400b",
"source": "https://github.com/ffmpeg/ffmpeg/commit/124eb202e70678539544f6268efc98131f19fa49",
"signature_version": "v1",
"deprecated": false
}
]