FFmpeg 因除以零漏洞被 Fuzzer 攻破

We found a division by zero bug in FFmpeg with a vibecoded fuzzer

我们的 Fuzzer 在 FFmpeg 的 Sony PS2 VPK 解复用器中发现了一个中等严重性的整数除以零漏洞。攻击者只需构造一个 21 字节的恶意 VPK 文件,就能触发 SIGFPE 异常,导致任何调用 FFmpeg 的应用程序崩溃。根本原因在于 vpk_read_packet 函数在处理最后一块数据时,未检查 nb_channels 是否为零就直接进行了除法运算。尽管头文件解析阶段有验证,但在 Fuzzer 的特定路径下,该验证被绕过,导致除数为零。修复方案是在读取数据包前增加对零通道流的检查,返回错误而非崩溃。

一个精心构造的 21 字节输入就能让任何打开恶意 VPK 文件的 FFmpeg 应用程序崩溃。

同日更多故事

2026-08-27