By NHI Mgmt Group Editorial TeamBased on depthfirst: “21 Zero-Days in FFmpeg” (June 2, 2026)

TL;DR: 21 zero-day vulnerabilities in FFmpeg, including a network-reachable AV1 RTP flaw that can produce remote code execution from a single 183-byte packet, have been reported by depthfirst after intensive analysis by Google and Anthropic. The result shows that hardened media parsers still hide long-lived memory-safety gaps, and exploitable attack paths can emerge in ordinary ingest workflows.


At a glance

What this is: depthfirst’s analysis of FFmpeg found 21 zero-days, including a network-reachable AV1 RTP flaw that can escalate a crafted packet into remote code execution.

Why it matters: This matters because media parsers sit on exposed ingest paths, so a single malformed stream can become an unauthenticated entry point into transcoding, surveillance, and streaming environments.

By the numbers:

  • depthfirst reported 21 zero-day vulnerabilities in FFmpeg.
  • The AV1 RTP flaw could be triggered by a single 183-byte packet.
  • depthfirst said the findings cost roughly $1k, about 10% of what Anthropic spent using Mythos.

Context

FFmpeg is a high-value parser target because it processes untrusted media at scale, often in workflows that assume the stream source is benign. When parser logic sits close to network input, memory-safety defects become remote attack paths rather than isolated software bugs, especially in systems that ingest attacker-influenced RTSP or RTP streams.

The article’s core lesson is not that media tooling is uniquely fragile, but that mature C codebases can retain exploitable edge cases even after years of fuzzing and audit. For identity and access teams, the governance angle is exposure management around service workflows that accept external content, because the security boundary is often the ingest source rather than the application user.

The article’s starting position is typical for internet-facing parser risk: trusted deployment patterns create untrusted input paths.


Key questions

Q: What should teams do first when a media parser is reachable from untrusted streams?

A: Start by inventorying every workflow that accepts remote media and ranking them by exposure, protocol reachability, and privilege. The highest-risk services are the ones that parse attacker-controlled input before any trust decision, because those are the paths where a single malformed packet can become memory corruption and, eventually, code execution.

Q: Why do parser bugs in media libraries become remote code execution risks?

A: Parser bugs become RCE risks when attacker-controlled input can influence heap layout, cursor movement, or cleanup callbacks inside a long-lived process. If the bug lets input advance logic without matching memory allocation, the attacker can overwrite adjacent objects and turn a crash into control of execution flow.

Q: What are the signs that a parser state machine is unsafe?

A: Look for skipped-byte logic, recursive parsing, unbounded length fields, and any branch that advances an output offset without consuming input or reserving memory. Those patterns often reveal mismatches between what the parser thinks it has buffered and what the allocator actually owns.

Q: How should organisations reduce exposure from attacker-controlled media processing?

A: Isolate media ingest services from secrets, control planes, and high-privilege network paths, then constrain them with least privilege, sandboxing, and strict egress controls. That way, a parser flaw is more likely to become a contained service outage than a platform-wide compromise.


Technical breakdown

How AV1 RTP depacketisation turns input parsing into memory corruption

AV1 over RTP is split into OBUs, and FFmpeg’s depacketiser reconstructs those units into an output buffer while tracking a write cursor. The safety invariant is simple: every cursor advance must be backed by matching allocation growth. The bug appears when the code skips a Temporal Delimiter OBU by advancing the output cursor without allocating space or consuming the input bytes. That breaks the relationship between logical packet position and allocated heap size, so the next write lands beyond the end of the buffer. In practice, this is a parser state machine failure, not just a bounds-check omission.

Practical implication: Treat parser cursor movement as a security-critical control point and review any code path where input is skipped without a matching allocation or pointer advance.

Why tiny crafted packets can become reliable overwrite primitives

The exploitability comes from controlled geometry. A crafted packet can force the depacketiser to reserve a small heap buffer while the write cursor is already positioned much further ahead, so subsequent bytes overwrite adjacent allocator metadata or neighboring objects. In this case, the overflow lands near FFmpeg buffer structures that include a function pointer used during cleanup. That makes the issue especially dangerous because the corruption occurs during normal packet processing, not after an unusual sequence of API calls. Memory safety failures in parsers matter most when the overflow reaches a callback or length field that later gets reused by trusted code.

Practical implication: Prioritise parser bugs that can steer writes into allocator metadata, object headers, or callbacks over overflows that only crash immediately.

Why long-audited media parsers still produce zero-days

Two decades of fuzzing and manual review do not eliminate structural risk when the codebase is large, optimized, and full of format-specific exception handling. Media parsers accumulate compatibility paths, refactors, and special cases, which is exactly where latent bugs survive. The article also shows the value of agentic analysis: the agent did not just flag suspicious code, it validated reachability and produced reproducible proof inputs. That distinction matters because security teams need findings they can triage and verify, not theoretical alerts that never cross from static suspicion into executable evidence.

Practical implication: Use a blend of fuzzing, reachability analysis, and reproducible proof inputs for legacy parsers that accept attacker-controlled media.


Threat narrative

Attacker objective: The attacker wants arbitrary code execution inside any FFmpeg-based service that processes attacker-influenced media streams.

  1. Entry occurs when an attacker supplies a crafted RTSP or RTP media stream to an FFmpeg-based ingest workflow.
  2. Credential access is not the issue here; instead, the attacker controls parser input and exploits a cursor-and-allocation mismatch to corrupt heap memory.
  3. Escalation follows when the overflow reaches allocator-managed object data, including a cleanup callback that can be hijacked.
  4. Impact is remote code execution during normal media processing, without special flags or user interaction beyond opening the stream.
  • ASP.NET machine key attacks 2025: Developers copied ASP.NET machine keys from public sources; attackers used one to run Godzilla via ViewState. Microsoft found 3,000+ such keys.

Read and download The State of NHI & AI Agent Breach Report 2026, covering 200+ breaches impacting Non-Human Identities including AI Agents.


NHI Mgmt Group analysis

Parser trust boundaries are the real control plane in media security. The article shows that FFmpeg’s risk was not simply a buggy line of C, but an unsafe assumption that attacker-controlled media could be normalized safely inside the parser. In practice, ingest workflows inherit the security posture of the parser, not just the perimeter around it. Practitioners should treat any parser that accepts external content as an execution-adjacent component.

Memory-safety flaws in mature infrastructure behave like governance debt. Years of fuzzing and code review reduce exposure, but they do not eliminate exception-heavy code paths, especially in compatibility layers and packet reassembly logic. This is the kind of risk that survives because ownership is diffuse and the operational value of the library masks the security burden. The practical conclusion is that legacy media stacks need continuous reachability validation, not periodic confidence checks.

Agentic analysis changes how vulnerability research scales. The article’s own process matters because the agent did not stop at suspicious patterns, it validated exploitability and generated reproducible inputs. That is a meaningful shift for security programmes that depend on deterministic evidence before remediation starts. The field should expect more zero-day discovery in dense C codebases as AI-assisted analysis improves at tracing control flow and attacker influence.

Zero-click parser attack paths deserve the same governance scrutiny as authentication failures. Where a service accepts external streams automatically, the parser becomes the first trust decision, even if no human identity is involved. That makes media processing a broader control problem for cloud, SOC, and resilience teams, because compromise can begin before any application-layer policy is reached. The response should be to classify parser reachability as an exposure class, not as a low-level defect list.

From our research library:

  • CrowdStrike's 2026 Global Threat Report said zero-days exploited before public disclosure rose 42% year over year.

What this signals

Parser reachability is the exposure metric that matters here. A library can be heavily audited and still remain dangerous if attacker-controlled streams reach it before trust is established. For practitioners, that means media parsers belong in the same exposure register as internet-facing services, not in a low-priority dependency backlog.

Legacy code plus format complexity creates persistent security debt. The article illustrates a broader pattern: when a parser handles many formats and many historical compatibility paths, the probability of one latent memory-safety flaw surviving remediation stays high. The programme-level response is to treat dense parsing code as continuously revalidated attack surface, not as a solved asset.

Zero-click parser exploitation should change containment design. If a media workflow can be compromised by a single crafted packet, then sandboxing, privilege separation, and blast-radius reduction become primary controls, not secondary hardening measures. Teams should assume that one malformed stream can be enough to justify tighter isolation around ingest tiers.


For practitioners

  • Harden exposed ingest paths Inventory every service that accepts RTSP, RTP, or uploaded media from untrusted sources, then map which parsers are reachable before any authentication or content vetting occurs.
  • Prioritise parser state transitions Review code paths where output cursors move without a matching allocation or input advance, especially around packet skipping, delimiter removal, and format compatibility branches.
  • Test cleanup callbacks and allocator edges Target fuzzing and harnessing at object cleanup, refcount handling, and buffer growth routines, because corruption often becomes exploitable only when trusted code later frees the object.
  • Treat attacker-influenced media as untrusted code paths Segment media ingest services so that a parser compromise cannot directly reach control planes, secrets, or adjacent workloads with higher privilege.

Key takeaways

  • FFmpeg’s zero-days show that mature parsers can still expose remote code execution when attacker-controlled media reaches deep packet-reassembly logic.
  • The article’s most serious example was a network-reachable AV1 RTP flaw that could be driven by a single 183-byte packet.
  • Teams should focus on exposed ingest paths, parser state mismatches, and containment around media-processing services because those controls change the impact of parser bugs.

Standards & Framework Alignment

This section maps relevant standards and security frameworks to the operational risks and controls described in this guidance.

MITRE ATT&CK and OWASP API Security Top 10 address the attack and risk surface, while NIST CSF 2.0, CIS Controls v8 and NIST SP 800-53 Rev 5 set the governance and control requirements practitioners need to meet.

FrameworkControl / ReferenceRelevance
MITRE ATT&CKTA0006; TA0008 — Credential Access; Lateral MovementThe article centres on adversarial packet handling and post-exploitation movement risks in exposed media services.
Recommendation — Map parser exploit paths to ATT&CK stages and harden exposed ingest services before attacker-controlled input reaches them.
NIST CSF 2.0PR.PS-06 — Secure Software Development LifecycleLegacy parser flaws reflect SDLC gaps in testing and hardening of security-critical code.
Recommendation — Apply secure SDLC controls to parsing components and verify that untrusted-input handling is continuously tested.
CIS Controls v8CIS-7 — Continuous Vulnerability ManagementThe article shows why highly exposed software needs ongoing discovery, validation, and remediation.
Recommendation — Prioritise continuous vulnerability management for media parsers exposed to external streams.
NIST SP 800-53 Rev 5SI-10 — Information Input ValidationThe exploit depends on insufficient validation of length fields and packet structure.
Recommendation — Enforce input validation on every attacker-controlled media field before parsing or buffer growth.
OWASP API Security Top 10API8 — Security MisconfigurationThe parser exposure reflects unsafe service configuration and trust assumptions around network input.
Recommendation — Review network-facing media services for misconfiguration that allows untrusted streams into parsing code.

Key terms

  • Parser Reachability: Parser reachability is the extent to which untrusted input can flow into a parsing routine before any security boundary stops it. In practice, this determines whether a bug is merely internal technical debt or an externally exploitable attack path.
  • Heap Buffer Overflow: A heap buffer overflow happens when a process writes past the end of a memory buffer allocated on the heap. In NGINX-style worker processes, that corruption can crash the process, corrupt adjacent state, or, in the right conditions, become a route to code execution.
  • Depacketisation: Depacketisation is the process of reassembling protocol payloads from network packets into a usable stream or frame. In media systems, it is a high-risk parsing stage because it must reconcile attacker-controlled lengths, ordering, and format markers without losing buffer integrity.
  • Memory Safety: Memory safety is the guarantee that software reads and writes only valid memory in the ways it intended. In systems built with languages like C and C++, weaknesses here can lead to crashes, data leakage, or code execution. For AI runtimes, memory safety is a core trust requirement, not a low-level detail.

Deepen your knowledge

NHI Foundation Level course, the industry's only accredited NHI security programme, covers NHI governance, workload identity, and secrets management for practitioners who need to connect identity controls to broader security architecture. It helps teams responsible for access, privilege, and operational resilience build a stronger governance baseline.
NHIMG Editorial Note
Published by the NHIMG editorial team on August 21, 2026.
Updated on October 12, 2026.
NHI Mgmt Group, the independent authority on Non-Human Identity, IAM, and Agentic AI security. nhimg.org