CVE-2023-45677
Heap buffer out of bounds write in start_decoder in stb_vorbis
Reported by github_m · Published October 20, 2023
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.
Fixed versions
Upgrade to a fixed version or later. Language registries are listed first, then Linux distributions, then vendor products.
| Package | Ecosystem | Fixed in |
|---|---|---|
| stb | nothings | 1.22 |
Risk scores
Affected products
| Vendor | Product | Versions |
|---|---|---|
| nothings | stb | <= 1.22 |
| nothings | stb | 0 |
| nothings | stb | 0 |
Timeline
- Oct 20, 2023 CVE Published
- Oct 21, 2023 EPSS Score (30 in total, the first dated here)
- Jun 17, 2026 CVE Updated
- Aug 2, 2026 Coalition ESS Score
- Aug 10, 2026 Security Advisory (2 in total, the first dated here)
Query this with the API
The same record, from the CLI:
vulnetix vdb vuln CVE-2023-45677
vulnetix vdb fixes CVE-2023-45677
Or with curl, using the org id and key from your account page:
curl -s -H "Authorization: ApiKey ${VULNETIX_ORG_ID}:${VULNETIX_API_KEY}" \
"https://api.vdb.vulnetix.com/v2/vuln/CVE-2023-45677/fixes/registry"
The Community plan is free and allows 50 queries a day. Get a free API key · API quickstart
References
- https://securitylab.github.com/advisories/GHSL-2023-145_GHSL-2023-151_stb_image_h/ x_refsource_CONFIRM
- https://github.com/nothings/stb/blob/5736b15f7ea0ffb08dd38af21067c314d6a3aae9/stb_vorbis.c#L3652-L3658 x_refsource_MISC
- https://github.com/nothings/stb/blob/5736b15f7ea0ffb08dd38af21067c314d6a3aae9/stb_vorbis.c#L3653 x_refsource_MISC
- https://github.com/nothings/stb/blob/5736b15f7ea0ffb08dd38af21067c314d6a3aae9/stb_vorbis.c#L3658 x_refsource_MISC
- https://github.com/nothings/stb/blob/5736b15f7ea0ffb08dd38af21067c314d6a3aae9/stb_vorbis.c#L3670C7-L3670C75 x_refsource_MISC
- https://github.com/nothings/stb/blob/5736b15f7ea0ffb08dd38af21067c314d6a3aae9/stb_vorbis.c#L950-L961 x_refsource_MISC