CVE-2023-45677CWE-787

Heap buffer out of bounds write in start_decoder in stb_vorbis

High · published October 20, 2023

CVSS v3.1
7.3
EPSS
1%
Percentile
43.8
In the wild
Unconfirmed
What it is

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.

The record
Technical detail
CVSS v3.1
7.3 · HIGH
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L
CVSS v4.0
Not supplied
EPSS
0.00527 · 43.8th percentile
Weakness
CWE-787 · Out-of-bounds Write
Published
2023-10-20T23:26Z
EPSS history
Timeline
  • 20 OCT 23:26Z
    Heap buffer out of bounds write in start_decoder in stb_vorbis
    cvelistv5