CVE-2026-75146 in FFmpeginfo

Summary

by MITRE • 08/19/2026

FFmpeg before commit 65b0dab contains an out-of-bounds read in the DASH demuxer (libavformat/dashdec.c). When a live DASH manifest is refreshed with a startNumber that is lower than the previous value, the current sequence number is driven negative. The fragment retrieval function checked only the upper bound before indexing the fragments array, allowing a negative index to be used and causing an out-of-bounds read. A malicious or misconfigured DASH server can trigger this by serving a live manifest with a decreasing startNumber across a manifest refresh.

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

Analysis

by VulDB Data Team • 08/20/2026

The vulnerability identified in FFmpeg prior to commit 65b0dab represents a critical memory safety issue within the Dynamic Adaptive Streaming over HTTP demuxer, specifically located in the libavformat/dashdec.c module. This flaw is classified as an out-of-bounds read, which corresponds to CWE-125: Out-of-bounds Read in standard vulnerability taxonomy. The root cause lies in the logic governing how FFmpeg handles live DASH manifests during refresh cycles. In a typical live streaming scenario, clients periodically request updated manifest files to discover new media segments available for playback. The demuxer relies on sequence numbers, particularly the startNumber attribute, to track which fragments have already been processed and which are pending retrieval.

The technical flaw emerges when a DASH server serves a live manifest where the startNumber value decreases compared to its previous iteration. Under normal operational parameters, this behavior is non-standard but can occur due to misconfiguration or specific stream management strategies on the server side. When FFmpeg processes such a manifest update, it attempts to calculate the current sequence number relative to previously seen values. The implementation fails to adequately validate that the resulting index remains within valid positive bounds before proceeding with array operations. Consequently, if the new startNumber is lower than the previous one, the internal calculation drives the fragment index into negative territory.

The critical failure occurs in the fragment retrieval function, which performs a check solely against the upper bound of the fragments array to ensure safety. It neglects to verify that the index is greater than or equal to zero. This oversight allows a negative integer to be used as an array offset when accessing memory locations associated with media fragments. In C-based applications like FFmpeg, using a negative index results in reading from memory addresses preceding the allocated buffer. While this specific instance manifests as an out-of-bounds read rather than a write, it poses significant risks including information disclosure if sensitive data resides in adjacent memory regions or application crashes due to accessing unmapped pages.

From an operational perspective, this vulnerability can be triggered by interacting with a maliciously configured DASH server that intentionally serves decreasing startNumber values during manifest refreshes. An attacker could exploit this condition remotely without requiring authentication, provided they control the streaming source or can manipulate network traffic to inject such manifests. The impact includes denial of service through application termination and potential leakage of internal memory contents, which might contain cryptographic keys, user data, or other sensitive information depending on what resides in the adjacent heap or stack space at the time of access. This aligns with ATT&CK technique T1046: Network Service Discovery if used for reconnaissance, though primarily it falls under exploitation via remote code execution vectors involving memory corruption principles outlined in MITRE CWE-125.

Mitigation strategies focus on updating FFmpeg to versions released after commit 65b0dab, which includes the necessary bounds checking logic to prevent negative indices from being processed. For environments where immediate patching is not feasible, administrators should implement strict validation of DASH manifests at the network perimeter or within proxy layers to reject streams exhibiting abnormal sequence number behaviors. Additionally, employing Address Sanitizer during development and testing phases can help detect such memory access violations early in the software lifecycle. Security teams should also monitor for unusual crashes or segmentation faults in media processing pipelines as indicators of potential exploitation attempts targeting this specific demuxer logic.

Responsible

VulnCheck

Reservation

08/17/2026

Disclosure

08/19/2026

Moderation

accepted

CPE

ready

EPSS

0.00261

KEV

no

Activities

very low

Sources

Interested in the pricing of exploits?

See the underground prices here!