Read the docs
TI-2023-24474 Aliases CVE-2023-45675

0 byte write heap buffer overflow in start_decoder in stb_vorbis

Priority HIGH 73CWE-787Published · Updated

Key facts

Attack vector
Local
Privileges required
None
User interaction
Required
Attack complexity
Low
Impact type
Code execution
Confidentiality · integrity · availability
High · High · High
Fix status
No fix listed

Attack profile from CVSS 3.1 · NVD. Fix status from CNA. Impact type from CWE-787 and the CVSS impact.

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 the len read in `start_decoder` is `-1` and `len + 1` becomes 0 when passed to `setup_malloc`. The `setup_malloc` behaves differently when `f->alloc.alloc_buffer` is pre-allocated. Instead of returning `NULL` as in `malloc` case it shifts the pre-allocated buffer by zero and returns the currently available memory block. This issue may lead to code execution.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00739 54th percentileScored 2026-11-07
Fix No fix listed No fixed version in the sources yet

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
Yes
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
nothingsstbup to 1.22—No fix listedCNA
  • stb Vendornothings Affected up to 1.22 Fixed in — No fix listed CNA

CPE configurations NVD · 1

CPEVersionsRoleVendor
cpe:2.3:a:nothings:stb_vorbis.c:1.22:*:*:*:*:*:*:*1.22Vulnerablenothings
  • cpe:2.3:a:nothings:stb_vorbis.c:1.22:*:*:*:*:*:*:* Versions 1.22 Vulnerable ·nothings

Remediation

No fixed version listed by the sources yet.

Timeline

  1. 2026-10-02 Threatist record created from CVE-2023-45675

References

  • TI-2023-25531 Integer overflow in stb_vorbis.c CVSS 3.1CRITICAL 9.8
  • TI-2023-24478 Attempt to free an uninitialized memory pointer in vorbis_deinit in stb_vorbis CVSS 3.1HIGH 7.8
  • TI-2023-24477 Off-by-one heap buffer write in start_decoder in stb_vorbis CVSS 3.1HIGH 7.8
  • TI-2023-24476 Heap buffer out of bounds write in start_decoder in stb_vorbis CVSS 3.1HIGH 7.8
  • TI-2023-24475 Multi-byte write heap buffer overflow in start_decoder in stb_vorbis CVSS 3.1HIGH 7.8
  • TI-2023-24481 Wild address read in vorbis_decode_packet_rest in stb_vorbis CVSS 3.1HIGH 7.1
See all 10 →

Sources

This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences