Skip to content
OpenAdvisories
High · 7.3 CVE-2023-45677 EUVD-2023-49967

Heap buffer out of bounds write in start_decoder in stb_vorbis

Published Oct 20, 2023 · Updated Sep 12, 2024 · Assigned by GitHub_M

Description

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.

Affected products

VendorProductAffectedFixed
nothings stb <= 1.22 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 libstb No fix yet —
Debian 13 libstb No fix yet —
Debian 12 libstb No fix yet —
ReleasePackageFixed inAdvisory
Ubuntu 26.10 libstb No fix yet —
Ubuntu 26.04 LTS libstb No fix yet —
Ubuntu 25.10 libstb No fix yet —
Ubuntu 24.04 LTS libstb No fix yet —
Ubuntu 22.04 LTS libstb No fix yet —
Show 1 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu 20.04 LTS libstb No fix yet —
ReleasePackageFixed inAdvisory
SUSE Package Hub 15 SP6 SDL2_sound 2.0.4-bp156.2.3.1 openSUSE-SU-2025:0037-1
ReleasePackageFixed inAdvisory
openSUSE Tumbleweed SDL2_sound 2.0.4-1.1 openSUSE-SU-2025:14642-1
openSUSE Tumbleweed SDL3_sound 3.2.0-1.1 openSUSE-SU-2026:10978-1
openSUSE Leap 15.6 SDL2_sound 2.0.4-bp156.2.3.1 openSUSE-SU-2025:0037-1

Advisories 3

References