ANT-2026-8E67XSC7 · ffmpeg/ffmpeg
heap-buffer-overflow high
Severity Claude high · Security research firm high · Maintainer -
Discovered by Claude Mythos Preview
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
Triage and disclosure were performed by Ada Logics.
- Verdict
- true positive
- Severity
- high
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
Dates from discovery through public reveal.
- 2026-03-26 Reported to tracker
- 2026-05-28 Sent to maintainer
- 2026-05-28 Maintainer acknowledged
- 2026-06-16 Patch released
- 2026-08-17 Publicly revealed
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"
}