CVE-2023-45680
Medium · 5.5CVSS
5.5
EPSS
0.6%
Published
Oct 21, 2023
CISA due date
—
Cloudanix analysis
A flaw in a common audio file handler can make programs crash when they try to open certain bad sound files.
- Exploitation
- Requires User Interaction
- Attacker needs
- User Interaction
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Library
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
A NULL pointer dereference occurs in vorbis_deinit after a memory allocation failure in start_decoder leaves comment_list as NULL without resetting comment_list_length.
Why it matters to the business
Applications using the stb_vorbis library may crash when processing specially crafted OGG Vorbis files, leading to denial of service and potential disruption of media handling workflows.
How an attack unfolds
An attacker crafts a malicious OGG Vorbis file that causes memory allocation to fail during decoder initialization. When the application later calls vorbis_deinit on the partially initialized structure, it attempts to dereference the NULL pointer, causing a crash.
How to fix it
Patch the library to reset f->comment_list_length to zero upon allocation failure in start_decoder before returning early from start_decoder.
How to confirm the fix worked
Test with a crafted file that triggers allocation failure in start_decoder and verify that vorbis_deinit completes without dereferencing NULL. Inspect source to confirm comment_list_length reset logic.
Typical attack path
- Deliver crafted OGG Vorbis file to target application
- Application parses the file using stb_vorbis
- Memory allocation fails in start_decoder
- vorbis_deinit dereferences NULL pointer causing crash
How to detect it
Monitor application logs and crash reports for segmentation faults or access violations occurring during vorbis_deinit calls after OGG Vorbis file parsing attempts.
What your security team should do
- Identify all applications and dependencies using stb_vorbis
- Apply code patch to reset comment_list_length on allocation failure
- Sandbox or restrict processing of untrusted OGG Vorbis files until fixed
The record
stb_vorbis is a single file MIT licensed library for processing ogg vorbis files. A crafted file may trigger memory allocation failure in `start_decoder`. In that case the function returns early, the `f->comment_list` is set to `NULL`, but `f->comment_list_length` is not reset. Later in `vorbis_deinit` it tries to dereference the `NULL` pointer. This issue may lead to denial of service.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Debian:11 | libstb | 0 | No fix |
| Debian:12 | libstb | 0 | No fix |
| Debian:13 | libstb | 0 | No fix |
| SUSE:Package Hub 15 SP6 | SDL2_sound | 0 | 2.0.4-bp156.2.3.1 |
| Ubuntu:20.04:LTS | libstb | 0 | No fix |
| Ubuntu:22.04:LTS | libstb | 0 | No fix |
| Ubuntu:24.04:LTS | libstb | 0 | No fix |
| Ubuntu:24.10 | libstb | 0 | No fix |
| Ubuntu:25.04 | libstb | 0 | No fix |
| Ubuntu:25.10 | libstb | 0 | No fix |
| Ubuntu:Pro:20.04:LTS | libstb | 0 | No fix |
| openSUSE:Leap 15.6 | SDL2_sound | 0 | 2.0.4-bp156.2.3.1 |
Related vulnerabilities
- CVE-2023-47212 A heap-based buffer overflow vulnerability exists in the comment functionality of stb… Also affects libstb
- CVE-2023-43281 Double Free vulnerability in Nothings Stb Image.h v.2.28 allows a remote attacker to… Also affects libstb
- CVE-2023-45664 stb_image is a single file MIT licensed library for processing images. Also affects libstb
- CVE-2023-45676 stb_vorbis is a single file MIT licensed library for processing ogg vorbis files. Also affects libstb
- CVE-2023-45682 stb_vorbis is a single file MIT licensed library for processing ogg vorbis files. Also affects libstb
- CVE-2023-45679 stb_vorbis is a single file MIT licensed library for processing ogg vorbis files. Also affects libstb
- CVE-2023-45675 stb_vorbis is a single file MIT licensed library for processing ogg vorbis files. Also affects libstb
- CVE-2023-45666 stb_image is a single file MIT licensed library for processing images. Also affects libstb