FFmpeg versions 3.0 through 8.1.2 contain an out-of-bounds write vulnerability in the vf_swaprect video filter that allows attackers to corrupt heap memory by supplying a crafted NV12 video frame with odd width dimensions. The filter_frame() function reuses a temporary row buffer sized for plane 0's single-byte pixel step across all planes, causing an 18-byte memcpy into a 17-byte heap allocation when processing the two-byte-per-sample interleaved chroma plane of a 17x16 NV12 frame, resulting in heap corruption and process crash with potential for code execution.
{
"binaries": [
{
"binary_name": "libav-tools",
"binary_version": "6:9.20-0ubuntu0.14.04.1+esm1"
},
{
"binary_name": "libavcodec-extra",
"binary_version": "6:9.20-0ubuntu0.14.04.1+esm1"
},
{
"binary_name": "libavcodec-extra-54",
"binary_version": "6:9.20-0ubuntu0.14.04.1+esm1"
},
{
"binary_name": "libavcodec54",
"binary_version": "6:9.20-0ubuntu0.14.04.1+esm1"
},
{
"binary_name": "libavdevice-extra-53",
"binary_version": "6:9.20-0ubuntu0.14.04.1+esm1"
},
{
"binary_name": "libavdevice53",
"binary_version": "6:9.20-0ubuntu0.14.04.1+esm1"
},
{
"binary_name": "libavfilter-extra-3",
"binary_version": "6:9.20-0ubuntu0.14.04.1+esm1"
},
{
"binary_name": "libavfilter3",
"binary_version": "6:9.20-0ubuntu0.14.04.1+esm1"
},
{
"binary_name": "libavformat-extra-54",
"binary_version": "6:9.20-0ubuntu0.14.04.1+esm1"
},
{
"binary_name": "libavformat54",
"binary_version": "6:9.20-0ubuntu0.14.04.1+esm1"
},
{
"binary_name": "libavresample1",
"binary_version": "6:9.20-0ubuntu0.14.04.1+esm1"
},
{
"binary_name": "libavutil-extra-52",
"binary_version": "6:9.20-0ubuntu0.14.04.1+esm1"
},
{
"binary_name": "libavutil52",
"binary_version": "6:9.20-0ubuntu0.14.04.1+esm1"
},
{
"binary_name": "libswscale-extra-2",
"binary_version": "6:9.20-0ubuntu0.14.04.1+esm1"
},
{
"binary_name": "libswscale2",
"binary_version": "6:9.20-0ubuntu0.14.04.1+esm1"
}
]
}{
"availability": "Available with Ubuntu Pro: https://ubuntu.com/pro",
"binaries": [
{
"binary_name": "ffmpeg",
"binary_version": "7:3.4.11-0ubuntu0.1+esm15"
},
{
"binary_name": "libavcodec-extra",
"binary_version": "7:3.4.11-0ubuntu0.1+esm15"
},
{
"binary_name": "libavcodec-extra57",
"binary_version": "7:3.4.11-0ubuntu0.1+esm15"
},
{
"binary_name": "libavcodec57",
"binary_version": "7:3.4.11-0ubuntu0.1+esm15"
},
{
"binary_name": "libavdevice57",
"binary_version": "7:3.4.11-0ubuntu0.1+esm15"
},
{
"binary_name": "libavfilter-extra",
"binary_version": "7:3.4.11-0ubuntu0.1+esm15"
},
{
"binary_name": "libavfilter-extra6",
"binary_version": "7:3.4.11-0ubuntu0.1+esm15"
},
{
"binary_name": "libavfilter6",
"binary_version": "7:3.4.11-0ubuntu0.1+esm15"
},
{
"binary_name": "libavformat57",
"binary_version": "7:3.4.11-0ubuntu0.1+esm15"
},
{
"binary_name": "libavresample3",
"binary_version": "7:3.4.11-0ubuntu0.1+esm15"
},
{
"binary_name": "libavutil55",
"binary_version": "7:3.4.11-0ubuntu0.1+esm15"
},
{
"binary_name": "libpostproc54",
"binary_version": "7:3.4.11-0ubuntu0.1+esm15"
},
{
"binary_name": "libswresample2",
"binary_version": "7:3.4.11-0ubuntu0.1+esm15"
},
{
"binary_name": "libswscale4",
"binary_version": "7:3.4.11-0ubuntu0.1+esm15"
}
]
}{
"availability": "Available with Ubuntu Pro: https://ubuntu.com/pro",
"binaries": [
{
"binary_name": "ffmpeg",
"binary_version": "7:4.2.7-0ubuntu0.1+esm16"
},
{
"binary_name": "libavcodec-extra",
"binary_version": "7:4.2.7-0ubuntu0.1+esm16"
},
{
"binary_name": "libavcodec-extra58",
"binary_version": "7:4.2.7-0ubuntu0.1+esm16"
},
{
"binary_name": "libavcodec58",
"binary_version": "7:4.2.7-0ubuntu0.1+esm16"
},
{
"binary_name": "libavdevice58",
"binary_version": "7:4.2.7-0ubuntu0.1+esm16"
},
{
"binary_name": "libavfilter-extra",
"binary_version": "7:4.2.7-0ubuntu0.1+esm16"
},
{
"binary_name": "libavfilter-extra7",
"binary_version": "7:4.2.7-0ubuntu0.1+esm16"
},
{
"binary_name": "libavfilter7",
"binary_version": "7:4.2.7-0ubuntu0.1+esm16"
},
{
"binary_name": "libavformat58",
"binary_version": "7:4.2.7-0ubuntu0.1+esm16"
},
{
"binary_name": "libavresample4",
"binary_version": "7:4.2.7-0ubuntu0.1+esm16"
},
{
"binary_name": "libavutil56",
"binary_version": "7:4.2.7-0ubuntu0.1+esm16"
},
{
"binary_name": "libpostproc55",
"binary_version": "7:4.2.7-0ubuntu0.1+esm16"
},
{
"binary_name": "libswresample3",
"binary_version": "7:4.2.7-0ubuntu0.1+esm16"
},
{
"binary_name": "libswscale5",
"binary_version": "7:4.2.7-0ubuntu0.1+esm16"
}
]
}{
"availability": "Available with Ubuntu Pro: https://ubuntu.com/pro",
"binaries": [
{
"binary_name": "ffmpeg",
"binary_version": "7:4.4.2-0ubuntu0.22.04.1+esm15"
},
{
"binary_name": "libavcodec-extra",
"binary_version": "7:4.4.2-0ubuntu0.22.04.1+esm15"
},
{
"binary_name": "libavcodec-extra58",
"binary_version": "7:4.4.2-0ubuntu0.22.04.1+esm15"
},
{
"binary_name": "libavcodec58",
"binary_version": "7:4.4.2-0ubuntu0.22.04.1+esm15"
},
{
"binary_name": "libavdevice58",
"binary_version": "7:4.4.2-0ubuntu0.22.04.1+esm15"
},
{
"binary_name": "libavfilter-extra",
"binary_version": "7:4.4.2-0ubuntu0.22.04.1+esm15"
},
{
"binary_name": "libavfilter-extra7",
"binary_version": "7:4.4.2-0ubuntu0.22.04.1+esm15"
},
{
"binary_name": "libavfilter7",
"binary_version": "7:4.4.2-0ubuntu0.22.04.1+esm15"
},
{
"binary_name": "libavformat-extra",
"binary_version": "7:4.4.2-0ubuntu0.22.04.1+esm15"
},
{
"binary_name": "libavformat-extra58",
"binary_version": "7:4.4.2-0ubuntu0.22.04.1+esm15"
},
{
"binary_name": "libavformat58",
"binary_version": "7:4.4.2-0ubuntu0.22.04.1+esm15"
},
{
"binary_name": "libavutil56",
"binary_version": "7:4.4.2-0ubuntu0.22.04.1+esm15"
},
{
"binary_name": "libpostproc55",
"binary_version": "7:4.4.2-0ubuntu0.22.04.1+esm15"
},
{
"binary_name": "libswresample3",
"binary_version": "7:4.4.2-0ubuntu0.22.04.1+esm15"
},
{
"binary_name": "libswscale5",
"binary_version": "7:4.4.2-0ubuntu0.22.04.1+esm15"
}
]
}{
"availability": "Available with Ubuntu Pro: https://ubuntu.com/pro",
"binaries": [
{
"binary_name": "ffmpeg",
"binary_version": "7:6.1.1-3ubuntu5+esm13"
},
{
"binary_name": "libavcodec-extra",
"binary_version": "7:6.1.1-3ubuntu5+esm13"
},
{
"binary_name": "libavcodec-extra60",
"binary_version": "7:6.1.1-3ubuntu5+esm13"
},
{
"binary_name": "libavcodec60",
"binary_version": "7:6.1.1-3ubuntu5+esm13"
},
{
"binary_name": "libavdevice60",
"binary_version": "7:6.1.1-3ubuntu5+esm13"
},
{
"binary_name": "libavfilter-extra",
"binary_version": "7:6.1.1-3ubuntu5+esm13"
},
{
"binary_name": "libavfilter-extra9",
"binary_version": "7:6.1.1-3ubuntu5+esm13"
},
{
"binary_name": "libavfilter9",
"binary_version": "7:6.1.1-3ubuntu5+esm13"
},
{
"binary_name": "libavformat-extra",
"binary_version": "7:6.1.1-3ubuntu5+esm13"
},
{
"binary_name": "libavformat-extra60",
"binary_version": "7:6.1.1-3ubuntu5+esm13"
},
{
"binary_name": "libavformat60",
"binary_version": "7:6.1.1-3ubuntu5+esm13"
},
{
"binary_name": "libavutil58",
"binary_version": "7:6.1.1-3ubuntu5+esm13"
},
{
"binary_name": "libpostproc57",
"binary_version": "7:6.1.1-3ubuntu5+esm13"
},
{
"binary_name": "libswresample4",
"binary_version": "7:6.1.1-3ubuntu5+esm13"
},
{
"binary_name": "libswscale7",
"binary_version": "7:6.1.1-3ubuntu5+esm13"
}
]
}{
"availability": "Available with Ubuntu Pro: https://ubuntu.com/pro",
"binaries": [
{
"binary_name": "ffmpeg",
"binary_version": "7:8.0.1-3ubuntu2+esm4"
},
{
"binary_name": "libavcodec-extra",
"binary_version": "7:8.0.1-3ubuntu2+esm4"
},
{
"binary_name": "libavcodec-extra62",
"binary_version": "7:8.0.1-3ubuntu2+esm4"
},
{
"binary_name": "libavcodec62",
"binary_version": "7:8.0.1-3ubuntu2+esm4"
},
{
"binary_name": "libavdevice62",
"binary_version": "7:8.0.1-3ubuntu2+esm4"
},
{
"binary_name": "libavfilter-extra",
"binary_version": "7:8.0.1-3ubuntu2+esm4"
},
{
"binary_name": "libavfilter-extra11",
"binary_version": "7:8.0.1-3ubuntu2+esm4"
},
{
"binary_name": "libavfilter11",
"binary_version": "7:8.0.1-3ubuntu2+esm4"
},
{
"binary_name": "libavformat-extra",
"binary_version": "7:8.0.1-3ubuntu2+esm4"
},
{
"binary_name": "libavformat-extra62",
"binary_version": "7:8.0.1-3ubuntu2+esm4"
},
{
"binary_name": "libavformat62",
"binary_version": "7:8.0.1-3ubuntu2+esm4"
},
{
"binary_name": "libavutil60",
"binary_version": "7:8.0.1-3ubuntu2+esm4"
},
{
"binary_name": "libswresample6",
"binary_version": "7:8.0.1-3ubuntu2+esm4"
},
{
"binary_name": "libswscale9",
"binary_version": "7:8.0.1-3ubuntu2+esm4"
}
]
}