Skip to main content

FFmpeg CVE-2026-70630

| EUVDEUVD-2026-54162 MEDIUM
Use of Uninitialized Resource (CWE-908)
2026-08-06 disclosure@vulncheck.com GHSA-7mrq-j773-6867
6.8
CVSS 4.0 · Vendor: vulncheck
View

Attack ChainAIDerived

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

  1. Access
    Craft malicious SPV1 video with short zlib payload
  2. Delivery
    Deliver file to FFmpeg-based decoding service
  3. Exploit
    Trigger screenpresso_decode_frame() on crafted packet
  4. Execution
    zlib inflates fewer bytes than full frame size
  5. Persist
    av_image_copy_plane() copies stale ctx->inflated_buf tail
  6. Impact
    Decoded output frame contains leaked heap memory

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Variable initialization
Exploitation Conditions

Exploitation requires FFmpeg to process a crafted file that contains an SPV1 (Screenpresso) encoded video track - specifically one where the zlib payload decompresses to fewer bytes than the full frame pixel buffer. The CVSS 4.0 vector specifies UI:P, meaning a user or automated process must actively trigger decoding of the malicious file; passive exposure is not possible. AV:L indicates the attack is scoped to the process's local context, though in practice any service that accepts untrusted media uploads and decodes them with FFmpeg effectively exposes this attack surface over the network. No authentication is required to supply the crafted file if the decoding service is publicly accessible. Exploitation is limited to: (1) environments where FFmpeg is compiled with Screenpresso decoder support (enabled by default in standard builds), (2) FFmpeg versions 3.0-8.x, and (3) scenarios where the attacker can retrieve or observe the decoded output (e.g., a thumbnail returned by the service). Environments using FFmpeg only as a command-line tool by local users with no untrusted-input pipelines face minimal realistic risk.

Impact

The CVSS 4.0 base score of 6.8 (AV:L/AC:L/AT:N/PR:N/UI:P/VC:H) accurately captures the core risk profile: local attack vector with required user interaction (the target must process the crafted file), no privileges needed, and high confidentiality impact in the vulnerable system with no integrity or availability dimension. The local attack vector is the most significant limiting factor - exploitation requires the attacker to cause FFmpeg to process a malicious file, whether by convincing a user to open it, injecting it into an automated transcoding pipeline, or delivering it via a media upload endpoint. For batch-processing and thumbnail-generation services this effectively becomes network-triggerable with only AV:L at the FFmpeg process level. KEV is absent and no POC has been identified, making this currently a patch-priority rather than emergency-response item; however, the VC:H rating is credible given that heap leak primitives can facilitate ASLR bypass in memory-safe exploit chains. EPSS data was not provided in the input and cannot be stated. No conflicting signals between CVSS vector and description are present.

Exploit ScenarioDerived

An attacker crafts a Screenpresso (SPV1) video file whose zlib-compressed payload decompresses to fewer bytes than the declared frame dimensions require - for example, a 1920×1080 frame whose payload expands to only half the expected byte count. When submitted to a vulnerable FFmpeg-based transcoding service, thumbnail extractor, or media player, screenpresso_decode_frame() inflates the short payload and then copies the entire full-frame-sized buffer into the output picture, including heap residue from prior allocations. In a persistent service that has previously processed other media or handled authentication tokens, this residue may contain userspace pointers or credential material, which appear embedded in the decoded video frames returned to the attacker.

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 – Aug 06, 2026

Uninitialized heap memory read in FFmpeg's native Screenpresso decoder (libavcodec/screenpresso.c) allows an attacker who can supply crafted SPV1-encoded video to recover stale heap contents - including userspace addresses and prior-frame data - from the process decoding the media. Affected versions span FFmpeg 3.0 through 8.x; version 9.0 resolves the issue via upstream commits and PR #23896. No active exploitation is confirmed in CISA KEV, and no public exploit code has been identified at time of analysis, but the information-disclosure primitive is particularly dangerous in persistent server-side decoding pipelines where heap residue from earlier operations may include sensitive material.

RemediationAI

Upgrade to FFmpeg 9.0 or any release incorporating the three upstream commits referenced in the NVD entries (705890061467ad550ecc1dad5eea07f28ccfb43e, 9a3202a98b2e095b54dd784c3e01a09a676fc3fa, c22667d0fd7916a33fd3e79685b7246fc48f1a62) and PR #23896 at https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/23896. Distribution maintainers should backport these commits to supported stable branches where 9.0 is not yet packaged. As a compensating control where patching is immediately impractical: disable Screenpresso/SPV1 decoder support at build time (remove or restrict the screenpresso decoder from libavcodec) - note this breaks any legitimate Screenpresso content processing. For server-side pipelines, restrict accepted input container formats and codec IDs at the ingestion layer to exclude SPV1; this reduces attack surface without requiring a rebuild but requires careful input validation to avoid bypass. In high-sensitivity environments processing untrusted media, run FFmpeg in a sandboxed process (seccomp, containers with dropped capabilities) to limit the utility of any leaked addresses.

Affected VersionsENISA

FFmpeg 3.0 <9.0

Affected Packages

euvd ffmpeg fix: 9.0

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 libavcodec implements a native decoder for the Screenpresso screen-capture format (codec tag SPV1) in screenpresso.c. Each frame is transmitted as a zlib-compressed bitstream; the decoder inflates it into a persistent, pre-allocated buffer ctx->inflated_buf sized to the full frame dimensions. The root cause is CWE-908 (Use of Uninitialized Resource): screenpresso_decode_frame() calls zlib inflate to decompress the packet but does not validate that the number of output bytes produced equals the expected full-frame byte count. It then unconditionally passes the full frame width/height to av_image_copy_plane(), which copies the complete buffer - including any unwritten tail bytes left over from prior heap allocations or prior frames - into the decoded picture output. The persistent nature of ctx->inflated_buf means that content from previous decode calls (potentially for different input files or clients in a server context) can be disclosed. Affected CPE: all FFmpeg releases from 3.0 up to but not including 9.0.

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

Local vector because exploitation requires processing a supplied file; PR:N and UI:R since no authentication is needed but a user/process must trigger decoding; C:H for heap content disclosure; no integrity or availability impact.

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

Primary rating from Vendor (vulncheck).

CVSS VectorVendor: vulncheck

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

Lifecycle Timeline

2
Patch available
Aug 06, 2026 - 23:03 EUVD
CVE Published
Aug 06, 2026 - 22:18 cve.org
MEDIUM 6.8

DescriptionCVE.org

FFmpeg versions from 3.0 up to, but not including, 9.0 contain an uninitialized heap memory read vulnerability in the native Screenpresso decoder (libavcodec/screenpresso.c) that allows attackers to recover sensitive memory contents by supplying a crafted SPV1 packet with a valid zlib stream that decompresses fewer bytes than the full frame requires. The screenpresso_decode_frame() function fails to validate the produced byte count before calling av_image_copy_plane() to copy the complete frame dimensions from the persistent ctx->inflated_buf buffer, causing unwritten heap memory from prior allocations or prior frames to be copied into decoded output and potentially exposing sensitive data such as userspace addresses from persistent decoding services.

Threat Intelligence Overview

EPSS Score
0.1%
Top 97% exploitable
Prevalence
High
dominant open-source multimedia framework used across servers, desktops, and cloud pipelines
Data Quality
7 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
Small
Automatable
No
Human Impact· derived
High
Technical Impact
Partial

Priority Score

34
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +34
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

SUSE

Severity: Moderate
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise High Performance Computing 15 SP7 Affected
SUSE Linux Enterprise Module for Desktop Applications 15 SP7 Affected
SUSE Linux Enterprise Module for Package Hub 15 SP7 Affected

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