返回

文章详情

FFmpeg中的21个零日漏洞

Hacker News2026年6月12日 22:13

TLDR:depthfirst的生产自主安全代理在对FFmpeg进行深入安全分析后,发现了21个零日漏洞,该分析由Google和Anthropic完成。我们突破了理论分析,我们的代理生成了具体的、可复现的PoC输入,以确认其发现,成本仅为$1k(相比之下,Anthropic花费了$10k)。其中几个发现已经潜伏了15到20年。我们探讨了这些问题的可利用性,并开发了一个PoC,演示了RCE利用原语。FFmpeg是全球分布最广泛的软件之一。从我们每天使用的浏览器到支持大型流媒体平台的基础设施,它在各处默默处理媒体。作为一个常常解析复杂、不可信媒体的库,它本质上是安全关键的,也是零点击攻击的主要目标。深入研究FFmpeg的代码库揭示了挑战的真正规模:它庞大,拥有大约150万行专门用于解析数百种复杂媒体格式的高度优化的C代码。此外,它还经历了超过二十年的不懈模糊测试和手动审计。最近,Google的Big Sleep团队披露了FFmpeg中的13个漏洞。不久之后,Anthropic使用他们的Mythos模型扫描FFmpeg,并成功发现了一些安全问题。这些里程碑表明,先进的模型越来越能够推理密集的、经过加固的C代码。随着这些最新的努力,发现FFmpeg中的漏洞变得更加困难。在depthfirst,我们构建了一个代理系统,可以对大型代码库进行深入扫描。在这里发现的错误是我们安全系统能力的衡量标准。虽然我们没有访问Mythos的权限,但我们希望知道仅使用我们现有模型的能力有多大。我们能否重新发现Big Sleep和Mythos所发现的内容?更重要的是,我们能否找到他们完全忽视的任何新关键错误? depthfirst的安全代理 一个编码代理和一个安全代理可能使用相同的基础模型,但它们的目标非常不同。一个编码代理通常是互动的:人类给它一个任务,目标是编写代码,而不是关注边缘情况和对抗性输入。安全代理的目标更狭窄且更有针对性。它并不是试图编写有用的应用程序代码,而是在没有特定指令的情况下,试图在现有系统中找到真实的、可利用的安全问题。这改变了代理的形态。安全代理必须首先通过威胁建模来理解代码库:了解其架构,识别暴露的解析器和协议处理程序,并映射攻击者控制的输入进入系统的位置。从那里,它直接审计攻击面代码,追踪相关组件的数据流,而不是将代码库视为一个扁平的文件集合。此外,实用的安全代理需要防护措施,以防止其虚构缺失条件,过度声称理论缺陷,或充斥虚假正面结果。它必须检查攻击者是否实际控制正确的输入,是否能够达到易受攻击的路径,以及是否能重现怀疑的缺陷。在必要时,它应识别或生成适当的测试装置,以与目标组件交互,并具体测试这些假设。在depthfirst,我们的专业安全代理深度分析代码并并行 branching out 测试各种假设。它们追踪执行路径,验证攻击者是否控制了正确的输入,并确定数据流是否实际到达易受攻击的终点。更重要的是,这一过程的结果不仅仅是理论报告或模糊警告。该系统自动定位确切的安全问题,并提供可复现的具体输入,通过执行确认漏洞。这确保了所交付的每一个发现都是现实的、可达的,并且可以采取行动。发现 总计而言,我们的代理发现了21个零日漏洞,跨越了从TS解复用器到VP9解码器的组件,总成本约为$1k (是Anthropic使用Mythos开支的10%)。其中八个问题已经被分配了CVE:CVE-2026-39210(堆缓冲区溢出):在2010年引入于TS解复用器,在读取两个字节之前缺乏长度边界检查。CVE-2026-39211(整数溢出):在2010年进行swscale重构时引入的,通过一个没有上限的大小因子公式,允许用户控制的参数触发任意大的缩放。CVE-2026-39212(堆栈溢出):2025年7月引入的最近回归,在ffmpeg_opt.c中,一个预设文件可以递归触发选项解析而不设深度限制。CVE-2026-39213(堆缓冲区溢出):在2023年引入于yuv4mpegenc原始视频输入路径,在读取数据包大小时未对维度进行验证。CVE-2026-39214(堆栈缓冲区溢出):在2003年引入于原始SDT实现,这个错误写入服务条目

赞助内容

NordVPN Next-gen Antivirus

本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。

请我喝杯咖啡