ANT-2026-8E67XSC7 · 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-8E67XSC7: Heap-buffer-overflow read in FFmpeg ADPCM PSXC decoder via crafted audio input

Fuzzing the ffmpeg_AV_CODEC_ID_ADPCM_PSXC_DEC_fuzzer entrypoint triggers a heap-buffer-overflow READ in FFmpeg's ADPCM PSXC audio decoder. The crash is reached directly from decoder input, meaning an attacker who can supply a media file or stream decoded as ADPCM PSXC controls the triggering bytes. The out-of-bounds read was independently reproduced by three separate fuzzing runs. No source location or root-cause analysis is available in this record; full ASAN output and a reproducer are attached.

Target

Project: ffmpeg
Location: libavcodec/adpcm.c:adpcm_decode_frame (ADPCM_PSXC block loop over-reads bytestream; fix adds block_align % channels check in adpcm_decode_init)

Technical Details

Out-of-bounds heap read in the FFmpeg ADPCM PSXC audio decoder when processing a crafted input stream.

Crash signature: ASAN heap-buffer-overflow READ (ADPCM PSXC decoder)

Reproduction

Reproduce against the target as described under Technical Details.

[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-8E67XSC7.


Reference: ANT-2026-8E67XSC7
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/adpcm.c b/libavcodec/adpcm.c
index e06aa7606b9f3..6ff3dad61302c 100644
--- a/libavcodec/adpcm.c
+++ b/libavcodec/adpcm.c
@@ -294,7 +294,8 @@ static av_cold int adpcm_decode_init(AVCodecContext * avctx)
         break;
     case AV_CODEC_ID_ADPCM_PSXC:
         max_channels = 8;
-        if (avctx->ch_layout.nb_channels <= 0 || avctx->block_align <= 0)
+        if (avctx->ch_layout.nb_channels <= 0 || avctx->block_align <= 0 ||
+            avctx->block_align % avctx->ch_layout.nb_channels)
             return AVERROR_INVALIDDATA;
         break;
     case AV_CODEC_ID_ADPCM_IMA_DAT4:

https://github.com/FFmpeg/FFmpeg/commit/6d8f7882ae6e7b7b86697474ee1a3755dfba1858

TIMELINE

Dates from discovery through public reveal.

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

SHA-3-512 hash:

73ee3cd833361e9f44af411e81c7c9b6633e1f1133b135ecd733be7140244a806f0f0c00759eb3b270c9069f374569cff3f905ef8c528d54be4587df5e37ec70

Committed 2026-05-28 08:01 PT

Revealed 2026-08-17 16:05 PT

Verify (download preimage.json)

Show preimage JSON
{
  "ant_id": "ANT-2026-8E67XSC7",
  "bug_class": "heap-buffer-overflow",
  "claude_severity": "high",
  "commit_sha": null,
  "created_at": "2026-03-27T01:53:02+00:00",
  "description": "Fuzzing the ffmpeg_AV_CODEC_ID_ADPCM_PSXC_DEC_fuzzer entrypoint triggers a heap-buffer-overflow READ in FFmpeg's ADPCM PSXC audio decoder. The crash is reached directly from decoder input, meaning an attacker who can supply a media file or stream decoded as ADPCM PSXC controls the triggering bytes. The out-of-bounds read was independently reproduced by three separate fuzzing runs. No source location or root-cause analysis is available in this record; full ASAN output and a reproducer are attached.",
  "discovered_at": null,
  "location": null,
  "poc_sha256": null,
  "preimage_version": 1,
  "project": "ffmpeg",
  "reproduction": null,
  "technical_details": null,
  "title": "Heap-buffer-overflow read in FFmpeg ADPCM PSXC decoder via crafted audio input",
  "vendor_severity": "high"
}