A flaw was found in FFmpeg’s TensorFlow backend within the libavfilter/dnn_backend_tf.c source file. The issue occurs in the dnn_execute_model_tf() function, where a task object is freed multiple times in certain error-handling paths. This redundant memory deallocation can lead to a double-free condition, potentially causing FFmpeg or any application using it to crash when processing TensorFlow-based DNN models. This results in a denial-of-service scenario but does not allow arbitrary code execution under normal conditions.
{
"availability": "Available with Ubuntu Pro: https://ubuntu.com/pro",
"binaries": [
{
"binary_name": "ffmpeg",
"binary_version": "7:6.1.1-3ubuntu5+esm10"
},
{
"binary_name": "libavcodec-extra",
"binary_version": "7:6.1.1-3ubuntu5+esm10"
},
{
"binary_name": "libavcodec-extra60",
"binary_version": "7:6.1.1-3ubuntu5+esm10"
},
{
"binary_name": "libavcodec60",
"binary_version": "7:6.1.1-3ubuntu5+esm10"
},
{
"binary_name": "libavdevice60",
"binary_version": "7:6.1.1-3ubuntu5+esm10"
},
{
"binary_name": "libavfilter-extra",
"binary_version": "7:6.1.1-3ubuntu5+esm10"
},
{
"binary_name": "libavfilter-extra9",
"binary_version": "7:6.1.1-3ubuntu5+esm10"
},
{
"binary_name": "libavfilter9",
"binary_version": "7:6.1.1-3ubuntu5+esm10"
},
{
"binary_name": "libavformat-extra",
"binary_version": "7:6.1.1-3ubuntu5+esm10"
},
{
"binary_name": "libavformat-extra60",
"binary_version": "7:6.1.1-3ubuntu5+esm10"
},
{
"binary_name": "libavformat60",
"binary_version": "7:6.1.1-3ubuntu5+esm10"
},
{
"binary_name": "libavutil58",
"binary_version": "7:6.1.1-3ubuntu5+esm10"
},
{
"binary_name": "libpostproc57",
"binary_version": "7:6.1.1-3ubuntu5+esm10"
},
{
"binary_name": "libswresample4",
"binary_version": "7:6.1.1-3ubuntu5+esm10"
},
{
"binary_name": "libswscale7",
"binary_version": "7:6.1.1-3ubuntu5+esm10"
}
]
}
{
"binaries": [
{
"binary_name": "ffmpeg",
"binary_version": "7:7.1.1-1ubuntu4.2"
},
{
"binary_name": "libavcodec-extra",
"binary_version": "7:7.1.1-1ubuntu4.2"
},
{
"binary_name": "libavcodec-extra61",
"binary_version": "7:7.1.1-1ubuntu4.2"
},
{
"binary_name": "libavcodec61",
"binary_version": "7:7.1.1-1ubuntu4.2"
},
{
"binary_name": "libavdevice61",
"binary_version": "7:7.1.1-1ubuntu4.2"
},
{
"binary_name": "libavfilter-extra",
"binary_version": "7:7.1.1-1ubuntu4.2"
},
{
"binary_name": "libavfilter-extra10",
"binary_version": "7:7.1.1-1ubuntu4.2"
},
{
"binary_name": "libavfilter10",
"binary_version": "7:7.1.1-1ubuntu4.2"
},
{
"binary_name": "libavformat-extra",
"binary_version": "7:7.1.1-1ubuntu4.2"
},
{
"binary_name": "libavformat-extra61",
"binary_version": "7:7.1.1-1ubuntu4.2"
},
{
"binary_name": "libavformat61",
"binary_version": "7:7.1.1-1ubuntu4.2"
},
{
"binary_name": "libavutil59",
"binary_version": "7:7.1.1-1ubuntu4.2"
},
{
"binary_name": "libpostproc58",
"binary_version": "7:7.1.1-1ubuntu4.2"
},
{
"binary_name": "libswresample5",
"binary_version": "7:7.1.1-1ubuntu4.2"
},
{
"binary_name": "libswscale8",
"binary_version": "7:7.1.1-1ubuntu4.2"
}
]
}
{
"binaries": [
{
"binary_name": "ffmpeg",
"binary_version": "7:8.1.2-2ubuntu2"
},
{
"binary_name": "libavcodec-extra",
"binary_version": "7:8.1.2-2ubuntu2"
},
{
"binary_name": "libavcodec-extra62",
"binary_version": "7:8.1.2-2ubuntu2"
},
{
"binary_name": "libavcodec62",
"binary_version": "7:8.1.2-2ubuntu2"
},
{
"binary_name": "libavdevice62",
"binary_version": "7:8.1.2-2ubuntu2"
},
{
"binary_name": "libavfilter-extra",
"binary_version": "7:8.1.2-2ubuntu2"
},
{
"binary_name": "libavfilter-extra11",
"binary_version": "7:8.1.2-2ubuntu2"
},
{
"binary_name": "libavfilter11",
"binary_version": "7:8.1.2-2ubuntu2"
},
{
"binary_name": "libavformat-extra",
"binary_version": "7:8.1.2-2ubuntu2"
},
{
"binary_name": "libavformat-extra62",
"binary_version": "7:8.1.2-2ubuntu2"
},
{
"binary_name": "libavformat62",
"binary_version": "7:8.1.2-2ubuntu2"
},
{
"binary_name": "libavutil60",
"binary_version": "7:8.1.2-2ubuntu2"
},
{
"binary_name": "libswresample6",
"binary_version": "7:8.1.2-2ubuntu2"
},
{
"binary_name": "libswscale9",
"binary_version": "7:8.1.2-2ubuntu2"
}
]
}