← На главную

depthfirst нашел 21 zero-day в FFmpeg — 8 с CVE, старейший 2003 года

12.06.2026 22:13 · hackernews

Компания depthfirst сообщила, что её автономный security-агент нашёл 21 zero-day уязвимость в FFmpeg. До этого Google и Anthropic тоже искали баги в этой библиотеке, но depthfirst пошли дальше: их агент не просто находит уязвимости, а сразу генерирует воспроизводимый PoC. Стоимость исследования — около $1k (у Anthropic с Mythos было $10k). Некоторые из найденных ошибок жили в коде 15–20 лет.

Восьми уязвимостям уже присвоили CVE. Среди них: heap overflow 2010 года в TS demuxer (CVE-2026-39210), integer overflow 2010 года в swscale (CVE-2026-39211), stack overflow в ffmpeg_opt.c — регрессия июля 2025 (CVE-2026-39212), heap overflow 2023 года в yuv4mpegenc (CVE-2026-39213). Самый старый баг — CVE-2026-39214 из 2003 года: в SDT не проверяли остаток места, уязвимость пролежала 23 года. Есть ещё heap overflow 2012 года в update_mb_info() (CVE-2026-39215), 2012 года в img2enc.c (CVE-2026-39216), регрессия марта 2025 в VP9 декодере (CVE-2026-39217) и ошибка 2017 года в DASH demuxer с отрицательными duration (CVE-2026-39218).

Остальные баги (пока без CVE) тоже серьёзные. Например, heap overflow 2024 года в RTP AV1 depacketizer (rtpdec_av1.c): при пропуске Temporal Delimiter (obu_type == AV1_OBU_TEMPORAL_DELIMITER) код двигает курсор pktpos на obu_size, но не выделяет память. Указатель buf_ptr при этом не сдвигается, и следующий проход цикла перечитывает те же байты как новый OBU. В итоге данные пишутся за границу буфера — получается управляемый heap overflow с полностью контролируемым смещением и содержимым. Этого хватает, чтобы перезаписать указатель free в структуре AVBuffer. При освобождении пакета вызывается 0xdeadbeef. Для эксплуатации хватило одного RTP-пакета размером 183 байта. Команда запуска тривиальна: ffmpeg -i rtsp://attacker/stream.

Другие DFVULN: heap overflow в RTP AV1 depacketizer (DFVULN-127), ошибка в swscale для YUV420P→NV12 (DFVULN-126), stack overflow 2012 года в RTP JPEG depacketizer (DFVULN-125), integer overflow 2010 года в RTP LATM (DFVULN-123), heap overflow 2005 года в RTP MPEG-4 (DFVULN-122), underflow в CAF demuxer 2009 года (DFVULN-121), integer underflow в AVI demuxer 2011 года (DFVULN-120), heap overflow 2025 года в ffmpeg_opt.c (DFVULN-119), ошибка 2021 года в RTSP сервере (DFVULN-118), проблема 2012 года в RTMP (DFVULN-117) и underflow 2010 года в RTSP SDP (DFVULN-116).

Читать оригинал →