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.
References
Configurations
History
26 Oct 2023, 22:44
Type | Values Removed | Values Added |
---|---|---|
References | (MISC) https://github.com/nothings/stb/blob/5736b15f7ea0ffb08dd38af21067c314d6a3aae9/stb_vorbis.c#L3653 - Third Party Advisory | |
References | (MISC) https://github.com/nothings/stb/blob/5736b15f7ea0ffb08dd38af21067c314d6a3aae9/stb_vorbis.c#L3652-L3658 - Third Party Advisory | |
References | (MISC) https://github.com/nothings/stb/blob/5736b15f7ea0ffb08dd38af21067c314d6a3aae9/stb_vorbis.c#L3658 - Third Party Advisory | |
References | (MISC) https://securitylab.github.com/advisories/GHSL-2023-145_GHSL-2023-151_stb_image_h/ - Third Party Advisory | |
References | (MISC) https://github.com/nothings/stb/blob/5736b15f7ea0ffb08dd38af21067c314d6a3aae9/stb_vorbis.c#L3670C7-L3670C75 - Third Party Advisory | |
References | (MISC) https://github.com/nothings/stb/blob/5736b15f7ea0ffb08dd38af21067c314d6a3aae9/stb_vorbis.c#L950-L961 - Third Party Advisory | |
First Time |
Nothings stb Vorbis.c
Nothings |
|
CPE | cpe:2.3:a:nothings:stb_vorbis.c:1.22:*:*:*:*:*:*:* | |
CVSS |
v2 : v3 : |
v2 : unknown
v3 : 7.8 |
CWE | CWE-787 |
21 Oct 2023, 00:15
Type | Values Removed | Values Added |
---|---|---|
New CVE |
Information
Published : 2023-10-21 00:15
Updated : 2024-02-28 20:33
NVD link : CVE-2023-45677
Mitre link : CVE-2023-45677
CVE.ORG link : CVE-2023-45677
JSON object : View
Products Affected
nothings
- stb_vorbis.c
CWE
CWE-787
Out-of-bounds Write