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[len] = (char)'\0';
. The root cause is that if the len read in start_decoder
is -1
and len + 1
becomes 0 when passed to setup_malloc
. The setup_malloc
behaves differently when f->alloc.alloc_buffer
is pre-allocated. Instead of returning NULL
as in malloc
case it shifts the pre-allocated buffer by zero and returns the currently available memory block. This issue may lead to code execution.
CPE | Name | Operator | Version |
---|---|---|---|
stb_vorbis.c | eq | 1.22 |
github.com/nothings/stb/blob/5736b15f7ea0ffb08dd38af21067c314d6a3aae9/stb_vorbis.c
github.com/nothings/stb/blob/5736b15f7ea0ffb08dd38af21067c314d6a3aae9/stb_vorbis.c
github.com/nothings/stb/blob/5736b15f7ea0ffb08dd38af21067c314d6a3aae9/stb_vorbis.c
lists.fedoraproject.org/archives/list/[email protected]/message/NMXKOKPP4BKTNUTF5KSRDQAWOUILQZNO/
lists.fedoraproject.org/archives/list/[email protected]/message/QVABVF4GEM6BYD5L4L64RCRSXUHY6LGN/
lists.fedoraproject.org/archives/list/[email protected]/message/UVQ7ONFH5GWLMXYEAJG32A3EUKUCEVCR/
securitylab.github.com/advisories/GHSL-2023-145_GHSL-2023-151_stb_image_h/