Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessDeliver crafted .mpd DASH manifest
-
DeliveryVictim loads manifest in FFmpeg
-
ExploitDASH demuxer parses empty SegmentTemplate media
-
Executionav_strireplace() enters infinite loop
-
ImpactCPU exhausted, process hangs (DoS)
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Loop termination conditions
MITRE ATT&CK
1 technique across 1 tactic: Impact The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires FFmpeg's DASH demuxer to process an attacker-controlled .mpd manifest that declares a SegmentTemplate element with an empty media attribute (media=""); this empty search string drives av_strireplace() (called from get_current_fragment() in dashdec.c) into an unbounded loop. Limiting factors: a victim must actively open or stream the malicious manifest (user interaction / content-processing required, per UI:P), only applications that invoke the DASH demuxer are affected, and impact is confined to availability (CPU exhaustion / process hang) with no code execution, data disclosure, or integrity impact. Versions at or below FFmpeg 9.0.2 are affected; the fixed build removes the condition. |
| Impact | This is a medium-severity availability-only flaw (CWE-835 infinite loop) and the signals are internally consistent rather than conflicting. The vendor CVSS 4.0 vector (AV:L/AC:H/AT:P/PR:N/UI:P, VA:H, VC:N/VI:N) scores 5.7 and describes exactly what the vulnerability is: no confidentiality or integrity impact, only CPU/availability loss, and it depends on a victim processing attacker-supplied content (UI:P) plus a specific attack condition (AT:P). No EPSS score was provided in the input and the CVE is NOT on CISA KEV, so there is no evidence of active exploitation; exploitation status is best described as no public exploit identified at time of analysis (a VulnCheck advisory and a root-cause writeup exist, but an advisory describing the crafting steps is not the same as confirmed weaponized exploit code). One genuine tension: the vendor chose AV:L, yet DASH .mpd manifests are an HTTP adaptive-streaming format normally delivered over the network, so in applications that stream a remote manifest the realistic vector is closer to AV:N - verify how your deployment feeds manifests to FFmpeg. Net: this is a real but bounded denial-of-service priority - worth patching promptly because FFmpeg is extremely widely embedded, but it is not a drop-everything issue since there is no RCE, no data exposure, and no confirmed in-the-wild exploitation. |
| Exploit ScenarioDerived | An attacker hosts or delivers a malicious DASH manifest (.mpd) that declares a SegmentTemplate with media="" (empty media URL). When a victim application or user loads that manifest through FFmpeg's DASH demuxer, get_current_fragment() calls av_strireplace() with an empty search string and spins in an infinite loop, pinning a CPU core and hanging the media process. No public exploit code is identified at the time of analysis, though the vendor advisory documents the trigger in enough detail to reproduce it. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 08, 2026
Denial of service in FFmpeg through 9.0.2 allows a crafted MPEG-DASH manifest whose SegmentTemplate element declares an empty media attribute (media="") to drive the DASH demuxer into an unbounded loop, consuming CPU indefinitely and hanging the process that is decoding the stream. Per the supplied CVSS 4.0 vector the issue is unauthenticated (PR:N) but requires user interaction (UI:P), because a victim or a host application must actively open or stream the attacker-supplied .mpd manifest; impact is confined to availability, with no confidentiality or integrity effect, and our independent assessment characterizes it as a medium-severity availability-only flaw (CWE-835) rather than a critical one. No public exploit code and no confirmed active exploitation were identified at time of analysis, though the vulnerable source paths are public and an upstream fix is already committed.
RemediationAI
Upstream fix available (PR/commit); released patched version not independently confirmed. The correction is carried in FFmpeg pull request 24592 (https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/24592) and commit ed27bfcbbbc0872c0195eaf4dd2c0c93b9f1778e (https://code.ffmpeg.org/FFmpeg/FFmpeg/commit/ed27bfcbbbc0872c0195eaf4dd2c0c93b9f1778e), which removes the condition that lets an empty SegmentTemplate media value reach av_strireplace(); because the commit is not tied to a confirmed tagged release here, operators should rebuild against the fixed tree or any FFmpeg build newer than 9.0.2 that includes that commit and verify the change is present before relying on it. Where rebuilding is not immediately possible, compensating controls with real trade-offs are: stop feeding untrusted or user-supplied .mpd manifests into the DASH demuxer (validate manifests server-side and reject SegmentTemplate entries with an empty media attribute before they reach FFmpeg) - cheap and targeted, but it depends on a validation layer being in the ingestion path; build with the DASH demuxer disabled (--disable-demuxer=dash) or block DASH processing entirely - fully effective against this flaw but it breaks all legitimate MPEG-DASH playback and transcoding; and run any FFmpeg job that consumes external manifests under a hard CPU/wall-clock watchdog or in a cgroup-limited sandbox so an infinite loop is killed rather than exhausting the host - this contains the blast radius but can terminate long-running legitimate encodes and requires per-job resource governance. If a vendor-patched package becomes available from your distribution or product vendor, prefer upgrading to that build over ad-hoc source changes so the fix stays maintained.
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
The flaw lives in FFmpeg's MPEG-DASH demuxer (libavformat/dashdec.c), the component that parses .mpd manifests to locate and fetch media segments. A SegmentTemplate entry supplies a media URL pattern from which the demuxer builds each fragment request; get_current_fragment() in dashdec.c (referenced at line 1726 in the n9.0.2 source tree) passes that pattern through av_strireplace() in libavutil/avstring.c (lines 230-238 in the same tag). When the manifest sets media="", the search string handed to av_strireplace() is empty, so the replacement routine has no advancing token and loops without terminating - the classic CWE-835 'Loop with Unreachable Exit Condition (Infinite Loop)' pattern. The CPE string cpe:2.3:a:ffmpeg:ffmpeg:* is version-agnostic across the tracked FFmpeg product, and EUVD records the affected range as FFmpeg 0 through 9.0.2, meaning essentially every shipping FFmpeg release up to that tag contains the defective replacement path. The vulnerable code is only reachable by applications that actually enable and invoke the DASH demuxer, which is why the practical exposure depends on how the library is embedded (for example CLI ffmpeg/ffprobe runs, transcoding services, or players built on libavformat) rather than on FFmpeg alone.
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:H/AT:P/PR:N/UI:P/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
DASH manifests are typically network-delivered so AV:N, the empty-media trigger is trivially crafted (AC:L), no auth (PR:N), but a victim must load the manifest (UI:R); impact is availability-only (A:H, C/I:N).
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
FFmpeg through 9.0.2 contains a denial of service vulnerability in the DASH demuxer that allows attackers to trigger an infinite loop by supplying an empty SegmentTemplate media URL. Attackers can craft an .mpd manifest declaring SegmentTemplate media="" so get_current_fragment() calls av_strireplace() with an empty search string, consuming CPU indefinitely.
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
Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.
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
EUVD-2026-95082
GHSA-23w5-87r9-849m
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB