Skip to content
OpenAdvisories
Medium · 6.5 CVE-2023-45675 EUVD-2023-49965

0 byte write heap buffer overflow in start_decoder in stb_vorbis

Published Oct 20, 2023 · Updated Feb 13, 2025 · 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 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.

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
Alpine v3.24 stb 0_git20231012-r0 —
Alpine v3.23 stb 0_git20231012-r0 —
Alpine v3.22 stb 0_git20231012-r0 —
Alpine v3.21 stb 0_git20231012-r0 —
Alpine v3.20 stb 0_git20231012-r0 —
Show 1 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Alpine v3.19 stb 0_git20231012-r0 —

References