Buffer overflow in Nothings Stb

CVE-2023-45677

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.

Vulnerability class: Buffer Overflow

EPSS: 0.005 (42.0th percentile) — read the EPSS interpretation.

CVSS v3 metric

CVSS v3 base score 7.3 (High). Vector: CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L.

Affected products

Weakness classification (CWE)

References

Frequently asked questions

What is CVE-2023-45677?
CVE-2023-45677 is a high-severity vulnerability in Nothings Stb, classified under Out-of-bounds Write. CVSS score: 7.3/10. Published 2023-10-21.
How severe is CVE-2023-45677?
High severity. CVSS v3 base score is 7.3 out of 10.