CVE-2023-45677 json
Heap buffer out of bounds write in start_decoder in stb_vorbis
published 2023-10-20 3 y ago modified 2026-06-17 4 mo ago also EUVD-2023-49967
- cvss
- 7.3
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.5%
- EPSS 0.5% chance of exploitation in 30 days, percentile 44%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- SDL3_sound openSUSE Tumbleweed 3.2.0-1.1
- SDL2_sound Package Hub 15 SP6, openSUSE Leap 15.6 2.0.4-bp156.2.3.1
- SDL2_sound openSUSE Tumbleweed 2.0.4-1.1
opensuse advisories openSUSE-SU-2026:10978-1openSUSE-SU-2025:0037-1openSUSE-SU-2025:14642-1
CISA SSVC
- Exploitation
- Proof of concept is public
- Automatable
- yes
- Technical impact
- partial
- Assessed
- 2 y ago
Exploit prediction
0.52% chance of exploitation in the next 30 days, higher than 44% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 7.3 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L |
| NVD | 3.1 | 7.8 | CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H |
Affected products
- nothings stb
Classification
- Weakness
-
- CWE-787 Out-of-bounds Write
References
-
securitylab.github.com
/advisories/GHSL-2023-145_GHSL-2023-151_stb_image_h/
third-party-advisory
-
github.com
/nothings/stb/blob/5736b15f7ea0ffb08dd38af21067c314d6a3aae9/stb_vorbis.c#L3652-L3658
third-party-advisory
-
github.com
/nothings/stb/blob/5736b15f7ea0ffb08dd38af21067c314d6a3aae9/stb_vorbis.c#L3653
third-party-advisory
-
github.com
/nothings/stb/blob/5736b15f7ea0ffb08dd38af21067c314d6a3aae9/stb_vorbis.c#L3658
third-party-advisory
-
github.com
/nothings/stb/blob/5736b15f7ea0ffb08dd38af21067c314d6a3aae9/stb_vorbis.c#L3670C7-L3670C75
third-party-advisory
-
github.com
/nothings/stb/blob/5736b15f7ea0ffb08dd38af21067c314d6a3aae9/stb_vorbis.c#L950-L961
third-party-advisory
Sources
- CVE List CVE-2023-45677
- NVD CVE-2023-45677
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.