Vibecoded fuzzer finds divide-by-zero bug in FFmpeg's VPK demuxer

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

A developer's fuzzer, built with a 'vibecoded' approach, discovered a divide-by-zero bug in FFmpeg's VPK demuxer (libavformat/vpk.c). A crafted 21-byte input can crash any FFmpeg-based application that opens a malicious .vpk file, causing a SIGFPE (integer divide-by-zero). The root cause is an unguarded division by par->ch_layout.nb_channels in vpk_read_packet, which can be zero due to a mismatch between probe and packet-read data. The issue is a reliable denial-of-service, not memory corruption. A simple guard is suggested to return an error instead of crashing.

The divide-by-zero is a denial-of-service primitive.

More from this day

2026-08-27