"value":"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 `len` read in `start_decoder` is a negative number and `setup_malloc` successfully allocates memory in that case, but memory write is done with a negative index `len`. Similarly if len is INT_MAX the integer overflow len+1 happens in `f->vendor = (char*)setup_malloc(f, sizeof(char) * (len+1));` and `f->comment_list[i] = (char*)setup_malloc(f, sizeof(char) * (len+1));`. This issue may lead to code execution."
},
{
"lang":"es",
"value":"stb_vorbis es una librer\u00eda de archivo \u00fanico con licencia MIT para procesar archivos ogg vorbis. Un archivo manipulado puede provocar una escritura fuera de l\u00edmites en `f->vendor[len] = (char)'\\0';`. La causa principal es que si `len` le\u00eddo en `start_decoder` es un n\u00famero negativo y `setup_malloc` asigna memoria exitosamente en ese caso, pero la escritura en memoria se realiza con un \u00edndice negativo `len`. De manera similar, si len es INT_MAX, el desbordamiento de enteros len+1 ocurre en `f->vendor = (char*)setup_malloc(f, sizeof(char) * (len+1));` y `f->comment_list[i] = (char*)setup_malloc(f, tama\u00f1o de(char) * (len+1));`. Este problema puede provocar la ejecuci\u00f3n del c\u00f3digo."