cbsjpegsplitfragment in libavcodec/cbsjpeg.c in FFmpeg 4.1 and 4.2.2 has a heap-based buffer overflow during JPEGMARKERSOS handling because of a missing length check.
{
"unresolved_ranges": [
{
"extracted_events": [
{
"introduced": "16.04"
},
{
"last_affected": "16.04"
},
{
"introduced": "18.04"
},
{
"last_affected": "18.04"
},
{
"introduced": "20.04"
},
{
"last_affected": "20.04"
}
],
"cpes": [
"cpe:2.3:o:canonical:ubuntu_linux:16.04:*:*:*:esm:*:*:*",
"cpe:2.3:o:canonical:ubuntu_linux:18.04:*:*:*:lts:*:*:*",
"cpe:2.3:o:canonical:ubuntu_linux:20.04:*:*:*:lts:*:*:*"
],
"source": "CPE_STRING",
"vendor_product": "canonical:ubuntu_linux"
},
{
"extracted_events": [
{
"introduced": "10.0"
},
{
"last_affected": "10.0"
}
],
"cpes": [
"cpe:2.3:o:debian:debian_linux:10.0:*:*:*:*:*:*:*"
],
"source": "CPE_STRING",
"vendor_product": "debian:debian_linux"
}
]
}{
"cpe": [
"cpe:2.3:a:ffmpeg:ffmpeg:4.1:*:*:*:*:*:*:*",
"cpe:2.3:a:ffmpeg:ffmpeg:4.2.2:*:*:*:*:*:*:*"
],
"extracted_events": [
{
"introduced": "4.1"
},
{
"last_affected": "4.1"
},
{
"introduced": "4.2.2"
},
{
"last_affected": "4.2.2"
}
],
"source": "CPE_STRING"
}{
"cpe": [
"cpe:2.3:a:ffmpeg:ffmpeg:4.1:*:*:*:*:*:*:*",
"cpe:2.3:a:ffmpeg:ffmpeg:4.2.2:*:*:*:*:*:*:*"
],
"extracted_events": [
{
"introduced": "4.1"
},
{
"last_affected": "4.1"
},
{
"introduced": "4.2.2"
},
{
"last_affected": "4.2.2"
}
],
"source": [
"CPE_STRING",
"REFERENCES"
]
}"2026-07-08T20:58:09Z"
[
{
"signature_type": "Function",
"deprecated": false,
"digest": {
"length": 3246.0,
"function_hash": "295269910854795076654787475383993439121"
},
"signature_version": "v1",
"source": "https://github.com/ffmpeg/ffmpeg/commit/1812352d767ccf5431aa440123e2e260a4db2726",
"id": "CVE-2020-12284-05b42b91",
"target": {
"function": "cbs_jpeg_split_fragment",
"file": "libavcodec/cbs_jpeg.c"
}
},
{
"signature_type": "Line",
"deprecated": false,
"digest": {
"threshold": 0.9,
"line_hashes": [
"95195660024913394212304132289173808057",
"312525091208015857353260134168748076611",
"298190530965200286121570828407286037464"
]
},
"signature_version": "v1",
"source": "https://github.com/ffmpeg/ffmpeg/commit/1812352d767ccf5431aa440123e2e260a4db2726",
"id": "CVE-2020-12284-4194c84e",
"target": {
"file": "libavcodec/cbs_jpeg.c"
}
},
{
"signature_type": "Line",
"deprecated": false,
"digest": {
"threshold": 0.9,
"line_hashes": [
"95195660024913394212304132289173808057",
"312525091208015857353260134168748076611",
"298190530965200286121570828407286037464"
]
},
"signature_version": "v1",
"source": "https://github.com/ffmpeg/ffmpeg/commit/a3a3730b5456ca00587455004d40c047f7b20a99",
"id": "CVE-2020-12284-8f9639c6",
"target": {
"file": "libavcodec/cbs_jpeg.c"
}
},
{
"signature_type": "Function",
"deprecated": false,
"digest": {
"length": 3284.0,
"function_hash": "95840289875798690280122319277904648598"
},
"signature_version": "v1",
"source": "https://github.com/ffmpeg/ffmpeg/commit/a3a3730b5456ca00587455004d40c047f7b20a99",
"id": "CVE-2020-12284-e760d172",
"target": {
"function": "cbs_jpeg_split_fragment",
"file": "libavcodec/cbs_jpeg.c"
}
}
]
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2020-12284.json"