Skip to main content

FFmpeg CVE-2026-107697

| EUVDEUVD-2026-95125 MEDIUM
Protection Mechanism Failure (CWE-693)
2026-10-08 VulnCheck GHSA-hhvh-2vr7-77mx
5.3
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Craft malicious HLS master playlist
  2. Delivery
    Deliver to FFmpeg-backed media service
  3. Exploit
    parse_playlist() bypasses protocol/allowed_extensions checks
  4. Execution
    Demuxer opens restricted local file or protocol
  5. Impact
    Disclose 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.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

FFmpeg 0 <8.1.3

Affected Packages

euvd ffmpeg fix: 8.1.3

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

Vendor (VulnCheck) PRIMARY 5.3 MEDIUM
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
vuln.today AI 4.3 MEDIUM

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.

3.1 AV:N/AC:L/PR:N/UI:R/S:U/C:L/I:N/A:N
4.0 AV:N/AC:L/AT:N/PR:N/UI:P/VC:L/VI:N/VA:N/SC:N/SI:N/SA:N
Red Hat 4.3 MEDIUM

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
Passive
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

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

EPSS Score
0.3%
Top 77% exploitable
Prevalence
Ubiquitous
FFmpeg is embedded in countless media apps, platforms, and services
Data Quality
5 sources
Confidence: Medium

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
None
System Exposure· derived
Open
Automatable· derived
No
Human Impact· derived
High

Priority Score

26
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +26
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Authentication bypass attacks exploit flaws in the verification mechanisms that control access to systems and applications.

More in Ffmpeg

View all
CVE-2016-1897 MEDIUM POC
5.5 Jan 15

FFmpeg 2.x allows remote attackers to conduct cross-origin attacks and read arbitrary files by using the concat protocol

CVE-2017-9993 HIGH
7.5 Jun 28

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

CVE-2016-1898 MEDIUM POC
5.5 Jan 15

FFmpeg 2.x allows remote attackers to conduct cross-origin attacks and read arbitrary files by using the subfile protoco

CVE-2013-4265 CRITICAL POC
10.0 Nov 23

The av_reallocp_array function in libavutil/mem.c in FFmpeg before 2.0.1 has an unspecified impact and remote vectors re

CVE-2020-12284 CRITICAL POC
9.8 Apr 28

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

CVE-2026-58049 HIGH POC
8.8 Jun 28

Out-of-bounds heap write in FFmpeg's RASC video decoder (decode_dlta in libavcodec/rasc.c) allows attackers to corrupt m

CVE-2026-30754 HIGH POC
8.8 Sep 08

Memory corruption in FFmpeg before 8.1 allows an attacker who can supply a crafted H.264/HEVC media file to corrupt heap

CVE-2021-38094 HIGH POC
8.8 Sep 20

Integer Overflow vulnerability in function filter_sobel in libavfilter/vf_convolution.c in Ffmpeg 4.2.1, allows attacker

CVE-2021-38093 HIGH POC
8.8 Sep 20

Integer Overflow vulnerability in function filter_robert in libavfilter/vf_convolution.c in Ffmpeg 4.2.1, allows attacke

CVE-2021-38092 HIGH POC
8.8 Sep 20

Integer Overflow vulnerability in function filter_prewitt in libavfilter/vf_convolution.c in Ffmpeg 4.2.1, allows attack

CVE-2021-38091 HIGH POC
8.8 Sep 20

Integer Overflow vulnerability in function filter16_sobel in libavfilter/vf_convolution.c in Ffmpeg 4.2.1, allows attack

CVE-2021-38090 HIGH POC
8.8 Sep 20

Integer Overflow vulnerability in function filter16_roberts in libavfilter/vf_convolution.c in Ffmpeg 4.2.1, allows atta

Vendor StatusVendor

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy