{"id":"CVE-2026-66041","summary":"FFmpeg 7.0 - 8.1.2 Heap Out-of-Bounds Write via vf_quirc Filter","details":"FFmpeg 7.0 through 8.1.2, fixed in commit 4da9812, contains a heap out-of-bounds write vulnerability in the vf_quirc filter that allows an attacker to corrupt heap memory by supplying a crafted PGS/SUP subtitle file with mismatched frame dimensions. Attackers can provide a subtitle file whose second presentation has larger dimensions than its first, causing av_image_copy_plane() to copy data exceeding the initial allocation size into the undersized libquirc grayscale image buffer, resulting in heap corruption and process crash with potential for code execution.","modified":"2026-08-08T03:47:58.772280571Z","published":"2026-07-24T19:54:11.426Z","database_specific":{"cwe_ids":["CWE-787"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/66xxx/CVE-2026-66041.json","unresolved_ranges":[{"extracted_events":[{"introduced":"7.0"},{"last_affected":"8.1.2"}],"source":"AFFECTED_FIELD"},{"extracted_events":[{"introduced":"7.0"},{"last_affected":"8.1.2"}],"source":"CPE_FIELD"},{"source":"DESCRIPTION","extracted_events":[{"introduced":"7.0"},{"fixed":"8.1.2"}]}],"cna_assigner":"VulnCheck"},"references":[{"type":"WEB","url":"https://code.ffmpeg.org/FFmpeg/FFmpeg"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/66xxx/CVE-2026-66041.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-66041"},{"type":"ADVISORY","url":"https://www.vulncheck.com/advisories/ffmpeg-heap-out-of-bounds-write-via-vf-quirc-filter"},{"type":"REPORT","url":"https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/23625"},{"type":"FIX","url":"https://code.ffmpeg.org/FFmpeg/FFmpeg/commit/4da9812e25894fb51d62a8875cfa8eb39b5e20f5"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://git.ffmpeg.org/ffmpeg.git","events":[{"introduced":"083443d67cb159ce469e5d902346b8d0c2cd1c93"},{"last_affected":"38b88335f99e76ed89ff3c93f877fdefce736c13"}],"database_specific":{"cpe":"cpe:2.3:a:ffmpeg:ffmpeg:*:*:*:*:*:*:*:*","extracted_events":[{"introduced":"7.0"},{"last_affected":"8.1.2"}],"source":"CPE_RANGE"}}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-66041.json"}},{"ranges":[{"type":"GIT","repo":"https://github.com/ffmpeg/ffmpeg","events":[{"introduced":"083443d67cb159ce469e5d902346b8d0c2cd1c93"},{"last_affected":"38b88335f99e76ed89ff3c93f877fdefce736c13"}],"database_specific":{"source":"CPE_RANGE","cpe":"cpe:2.3:a:ffmpeg:ffmpeg:*:*:*:*:*:*:*:*","extracted_events":[{"introduced":"7.0"},{"last_affected":"8.1.2"}]}}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-66041.json"}}],"schema_version":"1.8.0","severity":[{"type":"CVSS_V4","score":"CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N"}]}