Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconDeliver crafted AVI file to FFmpeg process
-
DeliveryFFmpeg probes AVI stream metadata
-
Exploitcfhd_decode() enters transform-type-2 non-Bayer reconstruction
-
Installhoriz_filter_clip() writes oversized rows beyond heap frame buffer
-
C2Live cleanup callback pointer overwritten on heap
-
ExecuteError or teardown path invokes corrupted callback
-
ImpactArbitrary code executed under FFmpeg process privileges
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Bounds checking, write limits
MITRE ATT&CK
2 techniques across 2 tactics: Execution, Privilege Escalation The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | The target must run FFmpeg version 4.4 or later and prior to 9.0 with the native CFHD decoder compiled in, which is the default build configuration for all standard FFmpeg distributions. The crafted AVI file must be processed by FFmpeg - either by a user manually invoking ffmpeg or ffprobe on the file, or by an automated pipeline (transcoder, media server, upload processor) probing the stream. Passive user interaction is required (CVSS 4.0 UI:P): the file must be opened or probed by the FFmpeg process, but no active user steps beyond triggering file processing are needed. No authentication or elevated privileges are required (PR:N). The attack vector is local (AV:L in the CVSS 4.0 vector), meaning the crafted file must be accessible to the FFmpeg process on the local filesystem or a mounted share - purely autonomous remote network exploitation without file delivery and local processing is not possible. The vulnerability is triggered specifically in the transform-type-2 reconstruction path for non-Bayer CFHD content; standard Bayer-mode CineForm content does not trigger the flaw, slightly narrowing the effective trigger surface within the CFHD format. Factors limiting exploitation: the file must reach the local FFmpeg process (requires user action or an exposed automated pipeline), and exploitation of heap corruption to redirect execution depends on heap layout at runtime, which may vary across OS, allocator version, and FFmpeg build configuration. |
| Impact | The provided CVSS 4.0 vector (AV:L/AC:L/AT:N/PR:N/UI:P, score 8.5) assigns a local attack vector with passive user interaction, low attack complexity, no attack requirements, and no privileges required, with High impact across confidentiality, integrity, and availability. The local attack vector reflects that a crafted AVI file must be processed by the local FFmpeg instance - but many FFmpeg deployments in transcoding pipelines, media servers, and upload services process externally sourced files, effectively making user-triggered file processing the only barrier to exploitation. No EPSS score was provided and this CVE is absent from CISA KEV at time of analysis, leaving exploitation likelihood unquantified from probabilistic sources; however, the concrete RCE escalation mechanism (callback pointer overwrite) described in the CVE text elevates the practical risk well above vulnerabilities where code execution is speculative. The extremely broad affected version range (4.4 to <9.0, spanning approximately five years of releases) combined with FFmpeg's prevalence in media infrastructure means the exposed population is large. The absence of a formally tagged stable release fixing the vulnerability - only upstream commits and a PR are referenced - creates deployment risk for packagers relying on distro repositories. No tension between CVSS signals and description was identified, except that the CVE description states 'remote attackers' while AV:L implies local processing; this is consistent with a social-engineering or upload-triggered delivery model rather than a direct network exploit. |
| Exploit ScenarioDerived | An attacker crafts a malicious AVI file with a CFHD-encoded video stream whose transform-type-2 reconstruction parameters specify a logical output width that violates the non-Bayer invariant, causing horiz_filter_clip() to write 16-bit sample rows beyond the heap-allocated output frame buffer during FFmpeg stream probing. The overwrite corrupts a live cleanup callback function pointer on the heap; when the CFHD decoder's cleanup routine invokes the pointer on teardown or error recovery, execution transfers to attacker-controlled memory, achieving arbitrary code execution under the privileges of the FFmpeg process. No public proof-of-concept exploit code has been identified at time of analysis, but the concrete escalation path described in the CVE text - specific function, specific data structure overwritten - substantially reduces the development effort required to weaponize this flaw. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 06, 2026
Out-of-bounds heap write in FFmpeg's native GoPro CineForm HD (CFHD) decoder affects versions 4.4 through 8.x, allowing remote attackers to corrupt heap memory by supplying a crafted AVI file that is opened or probed by a vulnerable build. The root failure - missing output-width bounds enforcement in the transform-type-2 reconstruction path - causes horiz_filter_clip() to write 16-bit sample rows far beyond the allocated frame buffer, with a concrete escalation path to arbitrary code execution through overwrite of a live cleanup callback pointer. No public exploit or active exploitation (CISA KEV) has been identified at time of analysis; three upstream fix commits and PR #23898 are available at code.ffmpeg.org pending a formal stable release.
RemediationAI
The primary fix is to upgrade FFmpeg to version 9.0 or later, which removes the out-of-bounds write by enforcing the non-Bayer output-width invariant in cfhd_decode(). The upstream fix is available as three commits (1006a2151236, 16b2049d4d52, db05df9d135f) and PR #23898 at code.ffmpeg.org; a formally tagged stable release version was not independently confirmed from the provided references - verify with the FFmpeg project release page before deploying in production. Downstream package maintainers should backport all three commits as a set, since they appear to address the flaw across multiple code paths in the CFHD decoder. Where immediate upgrade is not feasible, the most effective compensating control is to prevent untrusted or externally sourced AVI files from reaching any FFmpeg process; implementing input allowlisting at the ingestion layer (e.g., rejecting AVI containers or CFHD-encoded streams before they reach the decoder) eliminates the attack surface with the trade-off of rejecting legitimate GoPro CineForm content. Sandboxing the FFmpeg process using seccomp-bpf profiles or containers with restricted syscall surfaces limits the blast radius of a successful heap corruption exploit but does not prevent exploitation itself. For custom FFmpeg builds, disabling the CFHD decoder at compile time (removing libavcodec/cfhd.c from the build) fully eliminates exposure at the cost of losing GoPro CineForm decoding capability.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
CWE-787 (Out-of-bounds Write) manifests inside libavcodec's CFHD decoder, the native FFmpeg implementation for decoding GoPro CineForm HD encoded video streams embedded in AVI containers. During stream probing - the demuxer phase in which FFmpeg reads file headers and initial packet data to identify format, codec, and stream parameters before full decoding begins - the cfhd_decode() function enters the transform-type-2 wavelet reconstruction path without verifying that the logical output width satisfies the non-Bayer invariant required by that path. As a result, horiz_filter_clip(), the horizontal low-pass filter and sample clipping routine used during inverse wavelet reconstruction, writes oversized 16-bit sample rows that extend far beyond the end of the heap-allocated output frame buffer. The overwrite region can coincide with live heap metadata including cleanup callback function pointers; when the callback is subsequently invoked during codec teardown or an error path, execution is redirected to attacker-controlled data, realizing full arbitrary code execution. Affected products span FFmpeg 4.4 through all releases prior to 9.0 on all supported platforms. References point to three distinct fix commits (1006a215, 16b2049d, db05df9d) and PR #23898 on the FFmpeg upstream repository.
Know when Ffmpeg gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
AV:N because remote attackers supply the crafted AVI file; UI:R because local processing must be triggered; full CIA impact reflects the concrete RCE escalation path.
AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Primary rating from Vendor (vulncheck).
CVSS VectorVendor: vulncheck
Lifecycle Timeline
2DescriptionCVE.org
FFmpeg versions from 4.4 up to, but not including, 9.0 contain an out-of-bounds heap write vulnerability in the native GoPro CineForm HD (CFHD) decoder that allows remote attackers to corrupt heap memory by supplying a crafted AVI file during stream probing. The cfhd_decode() function fails to enforce the non-Bayer logical output-width invariant in the transform-type-2 reconstruction path, causing horiz_filter_clip() to write oversized 16-bit sample rows far beyond the allocated output frame buffer, which can be escalated to arbitrary code execution via overwrite of a live cleanup callback pointer.
Executive ViewAI
FFmpeg versions 4.4 through 8.x contain a high-severity heap memory vulnerability in the GoPro CineForm HD decoder that enables arbitrary code execution through maliciously crafted video files. This affects any organization using FFmpeg to process remote or untrusted video content, creating a direct path to system compromise if an attacker supplies a crafted AVI file. Immediate audit and containment actions are necessary to prevent potential exploitation.
No vendor-released patch identified at time of analysis. Interim mitigations include: disable the CFHD decoder module if CineForm processing is not required; restrict AVI file input to trusted, pre-validated sources; implement network controls to limit remote file intake for video processing services; apply input validation to reject malformed AVI files before processing.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.
Memory corruption occurs when a program writes data beyond the boundaries of allocated memory regions or accesses memory in unintended ways, violating the integrity of the process's address space.
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
FFmpeg 2.x allows remote attackers to conduct cross-origin attacks and read arbitrary files by using the concat protocol
FFmpeg before 2.8.12, 3.0.x and 3.1.x before 3.1.9, 3.2.x before 3.2.6, and 3.3.x before 3.3.2 does not properly restric
FFmpeg 2.x allows remote attackers to conduct cross-origin attacks and read arbitrary files by using the subfile protoco
The av_reallocp_array function in libavutil/mem.c in FFmpeg before 2.0.1 has an unspecified impact and remote vectors re
cbs_jpeg_split_fragment in libavcodec/cbs_jpeg.c in FFmpeg 4.1 and 4.2.2 has a heap-based buffer overflow during JPEG_MA
Out-of-bounds heap write in FFmpeg's RASC video decoder (decode_dlta in libavcodec/rasc.c) allows attackers to corrupt m
Memory corruption in FFmpeg before 8.1 allows an attacker who can supply a crafted H.264/HEVC media file to corrupt heap
Integer Overflow vulnerability in function filter_sobel in libavfilter/vf_convolution.c in Ffmpeg 4.2.1, allows attacker
Integer Overflow vulnerability in function filter_robert in libavfilter/vf_convolution.c in Ffmpeg 4.2.1, allows attacke
Integer Overflow vulnerability in function filter_prewitt in libavfilter/vf_convolution.c in Ffmpeg 4.2.1, allows attack
Integer Overflow vulnerability in function filter16_sobel in libavfilter/vf_convolution.c in Ffmpeg 4.2.1, allows attack
Integer Overflow vulnerability in function filter16_roberts in libavfilter/vf_convolution.c in Ffmpeg 4.2.1, allows atta
Same weakness CWE-787 – Out-of-bounds Write
View allVendor StatusVendor
SUSE
Severity: Important| Product | Status |
|---|---|
| SUSE Linux Enterprise Desktop 15 SP7 | Not-Affected |
| SUSE Linux Enterprise Desktop 15 SP7 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP7 | Not-Affected |
| SUSE Linux Enterprise Module for Desktop Applications 15 SP7 | Not-Affected |
| SUSE Linux Enterprise Module for Package Hub 15 SP7 | Not-Affected |
| SUSE Linux Enterprise Module for Package Hub 15 SP7 | Affected |
| SUSE Linux Enterprise Server 15 SP7 | Not-Affected |
| SUSE Linux Enterprise Server 15 SP7 | Affected |
| SUSE Linux Enterprise Server 16.0 | Affected |
| SUSE Linux Enterprise Server 16.1 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP7 | Not-Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP7 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.0 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Affected |
| SUSE Linux Enterprise Workstation Extension 15 SP7 | Not-Affected |
| SUSE Linux Enterprise Workstation Extension 15 SP7 | Affected |
| openSUSE Leap 16.0 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4 | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4-LTSS | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4-LTSS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5 | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5-LTSS | Not-Affected |
| SUSE Linux Enterprise Module for Desktop Applications 15 SP4 | Not-Affected |
| SUSE Linux Enterprise Module for Desktop Applications 15 SP4 | Affected |
| SUSE Linux Enterprise Module for Desktop Applications 15 SP5 | Not-Affected |
| SUSE Linux Enterprise Module for Desktop Applications 15 SP6 | Not-Affected |
| SUSE Linux Enterprise Server 15 SP4 | Not-Affected |
| SUSE Linux Enterprise Server 15 SP4 | Affected |
| SUSE Linux Enterprise Server 15 SP4-LTSS | Not-Affected |
| SUSE Linux Enterprise Server 15 SP4-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP5 | Not-Affected |
| SUSE Linux Enterprise Server 15 SP5 | Affected |
| SUSE Linux Enterprise Server 15 SP5-LTSS | Not-Affected |
| SUSE Linux Enterprise Server 15 SP6 | Not-Affected |
| SUSE Linux Enterprise Server 15 SP6 | Affected |
| SUSE Linux Enterprise Server 15 SP6-LTSS | Not-Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP6 | Not-Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP6 | Affected |
| SUSE Manager Proxy 4.3 | Not-Affected |
| SUSE Manager Proxy 4.3 | Affected |
| SUSE Manager Retail Branch Server 4.3 | Not-Affected |
| SUSE Manager Retail Branch Server 4.3 | Affected |
| SUSE Manager Server 4.3 | Not-Affected |
| SUSE Manager Server 4.3 | Affected |
| SUSE CaaS Platform 4.0 | Not-Affected |
| SUSE Enterprise Storage 6 | Not-Affected |
| SUSE Enterprise Storage 7 | Not-Affected |
| SUSE Enterprise Storage 7.1 | Not-Affected |
| SUSE Linux Enterprise Desktop 15 | Not-Affected |
| SUSE Linux Enterprise Desktop 15 SP1 | Not-Affected |
| SUSE Linux Enterprise Desktop 15 SP2 | Not-Affected |
| SUSE Linux Enterprise Desktop 15 SP3 | Not-Affected |
| SUSE Linux Enterprise Desktop 15 SP4 | Not-Affected |
| SUSE Linux Enterprise Desktop 15 SP4 | Affected |
| SUSE Linux Enterprise Desktop 15 SP5 | Not-Affected |
| SUSE Linux Enterprise Desktop 15 SP5 | Affected |
| SUSE Linux Enterprise Desktop 15 SP6 | Not-Affected |
| SUSE Linux Enterprise Desktop 15 SP6 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP1 | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP1-ESPOS | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP1-LTSS | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP2 | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP2-ESPOS | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP2-LTSS | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP3 | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP3-ESPOS | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP3-LTSS | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4-ESPOS | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4-ESPOS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP6 | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15-ESPOS | Not-Affected |
| SUSE Linux Enterprise High Performance Computing 15-LTSS | Not-Affected |
| SUSE Linux Enterprise Module for Desktop Applications 15 | Not-Affected |
| SUSE Linux Enterprise Module for Desktop Applications 15 SP1 | Not-Affected |
| SUSE Linux Enterprise Module for Desktop Applications 15 SP2 | Not-Affected |
| SUSE Linux Enterprise Module for Desktop Applications 15 SP3 | Not-Affected |
| SUSE Linux Enterprise Module for Package Hub 15 | Not-Affected |
| SUSE Linux Enterprise Module for Package Hub 15 SP1 | Not-Affected |
| SUSE Linux Enterprise Module for Package Hub 15 SP2 | Not-Affected |
| SUSE Linux Enterprise Module for Package Hub 15 SP3 | Not-Affected |
| SUSE Linux Enterprise Module for Package Hub 15 SP4 | Not-Affected |
| SUSE Linux Enterprise Module for Package Hub 15 SP4 | Affected |
| SUSE Linux Enterprise Module for Package Hub 15 SP5 | Not-Affected |
| SUSE Linux Enterprise Module for Package Hub 15 SP5 | Affected |
| SUSE Linux Enterprise Module for Package Hub 15 SP6 | Not-Affected |
| SUSE Linux Enterprise Module for Package Hub 15 SP6 | Affected |
| SUSE Linux Enterprise Real Time 15 SP2 | Not-Affected |
| SUSE Linux Enterprise Real Time 15 SP3 | Not-Affected |
| SUSE Linux Enterprise Real Time 15 SP4 | Not-Affected |
| SUSE Linux Enterprise Real Time 15 SP4 | Affected |
| SUSE Linux Enterprise Server 15 | Not-Affected |
| SUSE Linux Enterprise Server 15 SP1 | Not-Affected |
| SUSE Linux Enterprise Server 15 SP1-BCL | Not-Affected |
| SUSE Linux Enterprise Server 15 SP1-LTSS | Not-Affected |
| SUSE Linux Enterprise Server 15 SP2 | Not-Affected |
| SUSE Linux Enterprise Server 15 SP2-BCL | Not-Affected |
| SUSE Linux Enterprise Server 15 SP2-LTSS | Not-Affected |
| SUSE Linux Enterprise Server 15 SP3 | Not-Affected |
| SUSE Linux Enterprise Server 15 SP3-BCL | Not-Affected |
| SUSE Linux Enterprise Server 15 SP3-LTSS | Not-Affected |
| SUSE Linux Enterprise Server 15-LTSS | Not-Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 | Not-Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP1 | Not-Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP2 | Not-Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP3 | Not-Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP4 | Not-Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP4 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP5 | Not-Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP5 | Affected |
| SUSE Linux Enterprise Workstation Extension 15 | Not-Affected |
| SUSE Linux Enterprise Workstation Extension 15 SP1 | Not-Affected |
| SUSE Linux Enterprise Workstation Extension 15 SP2 | Not-Affected |
| SUSE Linux Enterprise Workstation Extension 15 SP3 | Not-Affected |
| SUSE Linux Enterprise Workstation Extension 15 SP4 | Not-Affected |
| SUSE Linux Enterprise Workstation Extension 15 SP4 | Affected |
| SUSE Linux Enterprise Workstation Extension 15 SP5 | Not-Affected |
| SUSE Linux Enterprise Workstation Extension 15 SP5 | Affected |
| SUSE Linux Enterprise Workstation Extension 15 SP6 | Not-Affected |
| SUSE Linux Enterprise Workstation Extension 15 SP6 | Affected |
| SUSE Manager Proxy 4.0 | Not-Affected |
| SUSE Manager Proxy 4.1 | Not-Affected |
| SUSE Manager Proxy 4.2 | Not-Affected |
| SUSE Manager Retail Branch Server 4.0 | Not-Affected |
| SUSE Manager Retail Branch Server 4.1 | Not-Affected |
| SUSE Manager Retail Branch Server 4.2 | Not-Affected |
| SUSE Manager Server 4.0 | Not-Affected |
| SUSE Manager Server 4.1 | Not-Affected |
| SUSE Manager Server 4.2 | Not-Affected |
| openSUSE Leap 15.3 | Not-Affected |
| openSUSE Leap 15.4 | Not-Affected |
| openSUSE Leap 15.4 | Affected |
| openSUSE Leap 15.5 | Not-Affected |
| openSUSE Leap 15.5 | Affected |
| openSUSE Leap 15.6 | Not-Affected |
| openSUSE Leap 15.6 | Affected |
EUVD-2026-54166
GHSA-q24x-99v6-6hxc
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB