Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft malicious HLS master playlist
-
DeliveryDeliver to FFmpeg-backed media service
-
Exploitparse_playlist() bypasses protocol/allowed_extensions checks
-
ExecutionDemuxer opens restricted local file or protocol
-
ImpactDisclose contents via media output
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V15 - Secure Coding and Architecture Protection mechanism completeness
|
| Exploitation Conditions | Requires a victim application or service that uses FFmpeg's HLS demuxer to process an attacker-supplied master playlist (UI:P - a user or automated pipeline must open/ingest the malicious playlist). The specific trigger is a master playlist whose child playlists reference disallowed protocols or non-multimedia local files, which parse_playlist() opens despite the HLS security policy. Limiting factors: exploitation is bounded to confidentiality (reading restricted resources/files) with no integrity or availability impact; it depends on the target actually feeding untrusted HLS input to FFmpeg and on the demuxer being reachable; affected versions are FFmpeg before 8.1.3, so patched builds are not vulnerable. |
| Impact | This is a genuine but moderate-severity issue rather than a top-priority emergency. The vendor-assigned CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:N/VA:N) describes a network-reachable, low-complexity, unauthenticated bypass that nonetheless requires passive user/service interaction (UI:P) and yields only limited confidentiality impact with no integrity or availability loss - consistent with a security-policy bypass (CWE-693) that enables reading disallowed local files or reaching restricted protocols rather than code execution. No EPSS score, SSVC decision, KEV listing, or POC was provided in the input, so there is no public exploit identified at time of analysis and no evidence of active exploitation; the finding originates from a credible researcher (VulnCheck) and a patch is available. The practical risk is therefore driven by FFmpeg's enormous deployment footprint and its frequent use to process untrusted media, not by raw score: any service that auto-ingests attacker-supplied HLS master playlists is exposed to SSRF-style and local-file-disclosure behavior. Note a signal gap: the input provides only a CVSS 4.0 vector (no 3.1 vector, no EPSS, no KEV/SSVC), so exploitation-probability signals are missing and risk is inferred from the vector and code evidence rather than confirmed exploitation telemetry. |
| Exploit ScenarioDerived | An attacker hosts or submits a crafted HLS master playlist to a service that uses FFmpeg to demux media. When FFmpeg's HLS demuxer parses the child playlists, parse_playlist() opens URLs that should be blocked by the allowed_extensions/protocol policy, letting the attacker point the demuxer at local files (e.g. config or non-multimedia files) or disallowed protocols and leak their contents back through the media pipeline. No public exploit code was identified in the provided data, but the root-cause commit (switching io_open to open_url) makes the bypass straightforward to reproduce. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Oct 08, 2026
Information disclosure in FFmpeg before 8.1.3 occurs when the HLS demuxer fails to enforce protocol and allowed_extensions restrictions while opening child playlists, allowing an attacker-supplied master playlist to make FFmpeg access disallowed protocols or non-multimedia local files. The issue requires a victim application or service to ingest the crafted playlist (unauthenticated attack with user interaction or an automated pipeline) and is limited to confidentiality impact; no public exploit identified at time of analysis. Vendor-released patch: FFmpeg 8.1.3.
RemediationAI
Upgrade to FFmpeg 8.1.3 or later; this is the vendor-released patch that changes parse_playlist() to use open_url() and restores protocol and allowed_extensions checks for child playlists. Patch commit references are https://github.com/FFmpeg/FFmpeg/commit/23602df9cd1b485c45ba6f533d3b85569de3f323, https://github.com/FFmpeg/FFmpeg/commit/01044d04536e, and https://github.com/FFmpeg/FFmpeg/commit/191715f0232c, with the advisory at https://www.vulncheck.com/advisories/ffmpeg-before-8.1.3-hls-demuxer-security-check-bypass-via-parse-playlist. If immediate upgrade is not possible, treat HLS input as untrusted and avoid feeding attacker-controlled playlists to FFmpeg's HLS demuxer; restrict the transcoding or ingestion service's filesystem and network reachability, such as running it in a container or sandbox with no sensitive local files and restrictive egress, because the bypass can read local files or reach disallowed protocols, though this only limits confidentiality impact and does not remove the bypass. Disabling the HLS demuxer entirely may prevent exploitation but breaks HLS playback or processing.
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
FFmpeg's HLS demuxer handles HTTP Live Streaming master and media playlists. FFmpeg security policies such as the protocol whitelist and allowed_extensions should be applied to every playlist URL, but in affected versions parse_playlist() called c->ctx->io_open directly instead of the open_url() wrapper. That direct call bypassed the policy checks for child playlists referenced by a master playlist, allowing an attacker to point those child playlists at disallowed protocols or local non-multimedia files. The source diff confirms the fix changes the call from c->ctx->io_open to open_url(), restoring protocol and extension enforcement for child playlist opens. This is CWE-693 Protection Mechanism Failure; CPE cpe:2.3:a:ffmpeg:ffmpeg:*:*:*:*:*:*:*:* covers all FFmpeg versions before 8.1.3. The assessed CVSS 4.0 vector is AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:N/VA:N, and the independent CVSS 3.1 assessment is AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:N, both consistent with confidentiality-only impact and required ingestion of a crafted playlist.
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:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
Network-delivered crafted playlist, no auth (PR:N), but a user/service must ingest it (UI:R); impact is limited local-file/protocol disclosure, so C:L and I/A:N.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
FFmpeg before 8.1.3 contains a protection mechanism failure in the HLS demuxer that allows attackers to bypass protocol and allowed_extensions restrictions when opening child playlists. Attackers can supply a crafted master playlist whose child playlists use disallowed protocols or non-multimedia local files, making parse_playlist() open resources the HLS security policy should block.
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
Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.
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-95125
GHSA-hhvh-2vr7-77mx
NVD
CVE.org
EPSS
Exploit-DB