ANT-2026-N0ZPQQQ6 · ffmpeg/ffmpeg

heap-buffer-overflow high

Severity Claude high · Security research firm high · Maintainer -

Discovered by Claude Mythos Preview

REPORT

Anthropic's analysis, sealed at approval. Disclosure to the maintainer was performed by Ada Logics.

ANT-2026-N0ZPQQQ6: The ASAN report describes a real, plausible heap-buffer-overflow in ffmpeg's fastaudio decoder at line 171 of fastaudio.c.

A fuzzed input to FFmpeg's FastAudio codec (ffmpeg_AV_CODEC_ID_FASTAUDIO_fuzzer) triggers a heap-buffer-overflow on a WRITE operation at fastaudio.c:171. The decoder writes past the bounds of a heap allocation while processing attacker-controlled audio packet data. Because FFmpeg decoders operate on untrusted media input, an attacker who can supply a crafted FastAudio stream to any application linking libavcodec can reach this path. The out-of-bounds write corrupts heap memory and may be leveraged for further exploitation.

Target

Project: ffmpeg
Location: fastaudio.c:171

Technical Details

ASAN reports a heap-buffer-overflow WRITE at fastaudio.c:171 in the FastAudio decoder. The decoder writes decoded samples beyond the end of a heap-allocated buffer, indicating a missing or incorrect bounds check on the output/index computation relative to the allocated size.

Crash signature: ASAN heap-buffer-overflow WRITE at fastaudio.c:171 (AV_CODEC_ID_FASTAUDIO)

Reproduction

  1. Craft a malformed FastAudio bitstream that drives the decode loop past the output buffer bounds
  2. Wrap it in a container (or raw packet) that routes to AV_CODEC_ID_FASTAUDIO
  3. Deliver the file/stream to the target so libavcodec decodes it
  4. Out-of-bounds heap write occurs at fastaudio.c:171

[No reproducer or sanitizer output attached — request from security-cvd@anthropic.com if needed.]

Acknowledgement

This vulnerability was discovered by Claude, Anthropic's AI assistant, and triaged by the Anthropic security team in collaboration with Anthropic Research. Please direct questions to security-cvd@anthropic.com and reference ANT-2026-N0ZPQQQ6.


Reference: ANT-2026-N0ZPQQQ6
Anthropic CVD Policy: https://www.anthropic.com/coordinated-vulnerability-disclosure

SECURITY RESEARCH FIRM ANALYSIS

Triage and disclosure were performed by Ada Logics.

Verdict
true positive
Severity
high
UPSTREAM FIX

The change that resolved this finding.

diff --git a/libavcodec/fastaudio.c b/libavcodec/fastaudio.c
index d361b410b9ecc..bab3cb738b921 100644
--- a/libavcodec/fastaudio.c
+++ b/libavcodec/fastaudio.c
@@ -113,6 +113,8 @@ static int fastaudio_decode(AVCodecContext *avctx, AVFrame *frame,
     int ret;
 
     subframes = pkt->size / (40 * avctx->ch_layout.nb_channels);
+    if (subframes <= 0 || subframes > INT_MAX / 256)
+        return AVERROR_INVALIDDATA;
     frame->nb_samples = subframes * 256;
     if ((ret = ff_get_buffer(avctx, frame, 0)) < 0)
         return ret;

https://github.com/FFmpeg/FFmpeg/commit/1e9984772b6ef878d3ae4a58e01d6a6d63a61bd7

TIMELINE

Dates from discovery through public reveal.

  1. 2026-03-26 Reported to tracker
  2. 2026-05-28 Sent to maintainer
  3. 2026-06-03 Maintainer acknowledged
  4. 2026-06-05 Patch released
  5. 2026-08-17 Publicly revealed
PROVENANCE

SHA-3-512 hash:

cb1bed514d82d5b20d7bee3807f6f890cd332e425a6e1e136b2f2dec0e50b908c22eb33d799560978daa374ec4a7b1f07c316cebcb7693a6006f0ee5a8a5bbb6

Committed 2026-05-28 08:01 PT

Revealed 2026-08-17 16:06 PT

Verify (download preimage.json)

Show preimage JSON
{
  "ant_id": "ANT-2026-N0ZPQQQ6",
  "bug_class": "heap-buffer-overflow",
  "claude_severity": "high",
  "commit_sha": null,
  "created_at": "2026-03-27T01:45:40+00:00",
  "description": "A fuzzed input to FFmpeg's FastAudio codec (ffmpeg_AV_CODEC_ID_FASTAUDIO_fuzzer) triggers a heap-buffer-overflow on a WRITE operation at fastaudio.c:171. The decoder writes past the bounds of a heap allocation while processing attacker-controlled audio packet data. Because FFmpeg decoders operate on untrusted media input, an attacker who can supply a crafted FastAudio stream to any application linking libavcodec can reach this path. The out-of-bounds write corrupts heap memory and may be leveraged for further exploitation.",
  "discovered_at": null,
  "location": "fastaudio.c:171",
  "poc_sha256": null,
  "preimage_version": 1,
  "project": "ffmpeg",
  "reproduction": [
    "1. Craft a malformed FastAudio bitstream that drives the decode loop past the output buffer bounds",
    "2. Wrap it in a container (or raw packet) that routes to AV_CODEC_ID_FASTAUDIO",
    "3. Deliver the file/stream to the target so libavcodec decodes it",
    "4. Out-of-bounds heap write occurs at fastaudio.c:171"
  ],
  "technical_details": "ASAN reports a heap-buffer-overflow WRITE at fastaudio.c:171 in the FastAudio decoder. The decoder writes decoded samples beyond the end of a heap-allocated buffer, indicating a missing or incorrect bounds check on the output/index computation relative to the allocated size.",
  "title": "The ASAN report describes a real, plausible heap-buffer-overflow in ffmpeg's fastaudio decoder at line 171 of fastaudio.c.",
  "vendor_severity": "high"
}