CVE-2023-45676 json
Multi-byte write heap buffer overflow in start_decoder in stb_vorbis
published 2023-10-20 3 y ago modified 2026-06-17 4 mo ago also EUVD-2023-49966
- 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 43%
- 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[i] = get8_packet(f);`. The root cause is an integer overflow in `setup_malloc`. A sufficiently large value in the variable `sz` overflows with `sz+7` in and the negative value passes the maximum available memory buffer check. 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.51% chance of exploitation in the next 30 days, higher than 43% 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#L3656
third-party-advisory
-
github.com
/nothings/stb/blob/5736b15f7ea0ffb08dd38af21067c314d6a3aae9/stb_vorbis.c#L950-L960
third-party-advisory
Sources
- CVE List CVE-2023-45676
- NVD CVE-2023-45676
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.