stb_vorbis is a single file MIT licensed library for processing ogg vorbis files. A crafted file may trigger out of bounds write in f->vendor[i] = get8_packet(f);
. The root cause is an integer overflow in setup_malloc
. A sufficiently large value in the variable sz
overflows with sz+7
in and the negative value passes the maximum available memory buffer check. This issue may lead to code execution.