Skip to main content

FFmpeg EUVDEUVD-2026-95079

| CVE-2026-107660 MEDIUM
Improper Validation of Certificate with Host Mismatch (CWE-297)
2026-10-08 VulnCheck GHSA-r4c5-645c-gfxv
6.3
CVSS 4.0 · Vendor: VulnCheck
View

Attack ChainAIDerived

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

  1. Access
    Gain man-in-the-middle network position
  2. Delivery
    Victim FFmpeg connects to IP-literal TLS URL
  3. Exploit
    Present any CA-signed certificate
  4. Execution
    mbedTLS backend skips IP hostname check
  5. Impact
    Read and tamper with stream contents

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V12 - Secure Communication Certificate host validation
Exploitation Conditions

Exploitation requires ALL of the following specific conditions: (1) FFmpeg built against the mbedTLS TLS backend (the vulnerable tls_open() lives in libavformat/tls_mbedtls.c, not the OpenSSL/GnuTLS backends); (2) the client connecting to an IP-literal URL (e.g. https://198.51.100.5/) over https, rtmps, or tls - connections to DNS hostnames are NOT affected because hostname verification still occurs for them; and (3) an attacker occupying a man-in-the-middle position on the network path who possesses any certificate signed by a trusted CA. Limiting factors that reduce realistic risk: the High attack complexity and Present attack requirement (AT:P) mean the MITM position must already be established, the non-default mbedTLS backend narrows the affected population, and only IP-literal target URLs are vulnerable; impact is confined to reading and tampering with the stream (confidentiality/integrity), with no availability or code-execution effect.

Impact

This is a genuine but moderate-priority issue, best characterized as a high-impact-in-narrow-conditions flaw rather than a broadly dangerous one. The CVSS 4.0 vector (AV:N/AC:H/AT:P/PR:N/UI:N) tells the real story: although network-reachable and requiring no privileges or user interaction, it carries High attack complexity and a Present attack requirement (AT:P), meaning the attacker must already hold a privileged man-in-the-middle network position and the victim must be connecting to an IP-literal URL. Impact is limited (VC:L/VI:L/VA:N) - confidentiality and integrity of the stream, no availability loss - consistent with a TLS interception/tampering bug rather than code execution. No EPSS score, CISA KEV listing, or public POC was provided, so there is no public exploit identified at time of analysis and no evidence of active exploitation; the AT:P/AC:H profile also argues against opportunistic mass exploitation and toward targeted, position-dependent attacks. The signals are internally consistent (CWE-297 host-mismatch matches the described IP-literal hostname-check skip, and the 6.3/Medium score fits the limited-impact MITM nature). One caveat defenders should verify: exploitation is specific to FFmpeg builds using the mbedTLS backend (tls_mbedtls.c), which is not FFmpeg's most common TLS backend, further narrowing the real-world exposed population below what a raw 'FFmpeg' product match would suggest.

Exploit ScenarioDerived

An attacker positioned on the network path (e.g., rogue Wi-Fi, ARP/DNS spoofing, or a compromised upstream hop) intercepts an FFmpeg client's https/rtmps/tls connection to an IP-literal URL such as https://203.0.113.10/stream. Because tls_open() in the mbedTLS backend skips hostname verification for IP-address hosts, the attacker presents any certificate validly signed by a trusted CA and the connection succeeds, letting them read and modify the media/data stream in transit. No public exploit code was identified in the provided data, and the attack requires both a pre-existing MITM position and the victim targeting an IP literal rather than a DNS name.

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

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

Alert me

AnalysisAIv1 – Oct 08, 2026

Hostname verification bypass in FFmpeg's mbedTLS TLS backend (tls_open() in libavformat/tls_mbedtls.c) lets a network man-in-the-middle holding any certificate from a trusted CA intercept, read and tamper with streams that FFmpeg retrieves from IP-literal URLs over https, rtmps or tls, affecting builds before 8.1.3 and 9.x before 9.0.2. According to the CVSS vector the attack is unauthenticated (PR:N) and requires no user interaction (UI:N), but the high attack complexity and Present attack requirement (AT:P) mean the attacker must already occupy a MITM position on the path, and the flaw only triggers on mbedTLS-linked builds and IP-literal targets because hostname checks still run for DNS names; impact is limited to confidentiality and integrity of the stream, with no availability or code-execution effect (CVSS 3.1 4.0-equivalent severity ~6.3 medium, CWE-297). No public exploit code has been identified at time of analysis and there is no CISA KEV listing, though vendor patches are available.

RemediationAI

Vendor-released patch: upgrade to FFmpeg 8.1.3 (for the 8.x/pre-8.1.3 line) or 9.0.2 (for the 9.x line); the fixes are in the tls_mbedtls.c verification path and were merged via the FFmpeg pull request at https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/24383 and the associated commits https://code.ffmpeg.org/FFmpeg/FFmpeg/commit/57a2e704b4a6eda5d061b45aacde6b19c026bfc0, https://code.ffmpeg.org/FFmpeg/FFmpeg/commit/d377212904a19fc740d721cbda0ba58fa3805a29 and https://code.ffmpeg.org/FFmpeg/FFmpeg/commit/0cd2a70eacd510c2efed48b9fc177c7cb2bc549f. Until patching is possible, switch affected applications to a non-mbedTLS build of FFmpeg (--with-openssl or --with-gnutls), which removes the vulnerable code path entirely but changes the linked crypto library and may require rebuilding downstream packages; alternatively avoid IP-literal URLs and address media servers by DNS hostname so that hostname verification still executes, though this depends on correct DNS resolution and is not a fix. Deployments that cannot change either can constrain the risk by terminating TLS in a proxy that performs its own certificate-to-identity validation in front of FFmpeg, or by only fetching from endpoints whose certificates are pinned at the proxy, accepting the operational cost of an additional hop. Advisory references: https://ffmpeg.org/ and https://www.vulncheck.com/advisories/ffmpeg-before-8.1.3-and-9-x-before-9.0.2-mbedtls-hostname-verification-bypass-for-ip-hosts.

Affected VersionsENISA

FFmpeg 9.0 <9.0.2
FFmpeg 0 <8.1.3

Affected Packages

euvd ffmpeg fix: 8.1.3, 9.0.2

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 issue is a CWE-297 'Improper Validation of Certificate with Host Mismatch' flaw in FFmpeg's mbedTLS integration layer. FFmpeg abstracts TLS through multiple backends (openssl, gnutls, mbedtls, securetransport); the vulnerable code path exists only in libavformat/tls_mbedtls.c, where the tls_open() routine configures an mbedTLS session for protocols such as https, rtmps and tls. During the TLS handshake the certificate chain is validated against the trust store, but when the target host is supplied as an IP literal rather than a DNS name the hostname/IP comparison step is skipped, so any certificate chaining to a trusted CA is accepted regardless of the identity it asserts. The referenced source at github.com/FFmpeg/FFmpeg/blob/n9.0.1/libavformat/tls_mbedtls.c#L676-L681 shows the affected verification block. Consequently integrity and confidentiality of the transported media are lost for that connection: an on-path attacker with a validly issued (even legitimate, unrelated) certificate can transparently terminate the TLS session and read or rewrite the byte stream. The scope is narrow by design: OpenSSL, GnuTLS and Secure Transport backends are unaffected, DNS-named endpoints are unaffected because their hostname check still fires, and there is no path to memory corruption, denial of service or code execution - only stream disclosure and manipulation. CVSS 4.0 vector CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N aligns with this bounded impact.

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 6.3 MEDIUM
CVSS:4.0/AV:N/AC:H/AT:P/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N
vuln.today AI 4.8 MEDIUM

AV:N and PR:N/UI:N as it is a remote unauthenticated flaw, but AC:H because it demands an established MITM position and an IP-literal target; C:L/I:L for stream read/tamper, A:N.

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

Primary rating from Vendor (VulnCheck).

CVSS VectorVendor: VulnCheck

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

DescriptionCVE.org

FFmpeg before 8.1.3 and 9.x before 9.0.2 contains an improper certificate validation vulnerability in tls_open() of libavformat/tls_mbedtls.c, which skips hostname checks for IP-address hosts. Network attackers can intercept https, rtmps, or tls connections to IP-literal URLs with any trusted CA-issued certificate to read and tamper with streams.

Threat Intelligence Overview

EPSS Score
0.1%
Top 97% exploitable
Prevalence
High
FFmpeg is ubiquitously embedded, but mbedTLS backend builds are a narrower subset
Data Quality
6 sources
Confidence: High

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.1%
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
None
System Exposure· derived
Open
Automatable
No
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

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

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

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