CVE-2023-45675 0 byte write heap buffer overflow in start_decoder in stb_vorbis

Medium 6.5 Published Updated

A crafted Ogg Vorbis file triggers a heap buffer overflow in stb_vorbis, potentially allowing attackers to execute arbitrary code.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2023-45675?

CVE-2023-45675 is a medium-severity memory corruption vulnerability in nothings stb, published on 20 Oct 2023. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official 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.

Weakness: CWE-787

Which versions are affected by CVE-2023-45675?

It affects 1 product.

Products include Nothings Stb Vorbis.c.

How do I fix CVE-2023-45675?

Apply the vendor's patch.

Upgrade to the fixed version. Memory-safe languages, compiler hardening and fuzzing prevent most new cases. More about Memory corruption.

Is CVE-2023-45675 being exploited?

It is not confirmed as exploited in the wild, but public exploit code for CVE-2023-45675 exists.

Sources

Also known as DEBIAN-CVE-2023-45675, OESA-2024-1410, OESA-2024-1411, UBUNTU-CVE-2023-45675.

Is CVE-2023-45675 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free