CVE-2026-116741
Medium · 6.5CVSS
6.5
EPSS
0.4%
Published
Oct 26, 2026
CISA due date
—
Cloudanix analysis
A bug in audio-handling software can let attackers crash programs by feeding them specially crafted sound data.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Moderate
- Impact
- Denial Of Service
- Component
- Library
- Class
- Memory Corruption
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Out-of-bounds write in speex_bits_read_whole_bytes() due to improper length truncation on non-owned SpeexBits buffers initialized with speex_bits_init_buffer() or speex_bits_set_bit_buffer(), enabling heap or stack memory corruption.
Why it matters to the business
Applications that process Speex audio streams can crash or suffer memory corruption, disrupting voice, multimedia, or VoIP services and requiring restarts or incident response.
How an attack unfolds
An attacker prepares a crafted Speex bitstream that triggers length truncation mishandling and streams it into a target application using vulnerable libspeex buffers; the resulting out-of-bounds write corrupts memory and crashes the process.
How to fix it
Upgrade libspeex to the first patched release that corrects the length-truncation logic in bits.c; rebuild and redeploy all dependent applications; validate the fix with targeted regression tests.
How to confirm the fix worked
Confirm the installed libspeex version exceeds 1.2.1, run unit tests covering speex_bits_init_buffer and speex_bits_set_bit_buffer paths, and attempt reproduction with known trigger payloads in a lab environment.
Typical attack path
- Locate services or applications that link against libspeex 1.2.1 or earlier
- Generate or obtain Speex data designed to exploit buffer initialization paths
- Deliver the malicious data via network stream, file, or API input
- Trigger speex_bits_read_whole_bytes() to perform the out-of-bounds write
- Observe resulting crash or memory corruption
How to detect it
Review application and system logs for abrupt terminations in processes that call Speex functions; correlate crashes with inbound Speex streams or files processed shortly before the failure.
What your security team should do
- Inventory all software using libspeex and schedule immediate updates
- Add Speex version checks to dependency scanners and CI pipelines
- Monitor application crash logs for Speex-related faults
- Restrict untrusted Speex input sources until patches are applied
The record
Speex (libspeex) through 1.2.1 contains an out-of-bounds write vulnerability in speex_bits_read_whole_bytes() in libspeex/bits.c that mishandles length truncation for non-owned SpeexBits buffers. Attackers can stream crafted Speex data into buffers set up with speex_bits_init_buffer() or speex_bits_set_bit_buffer() to corrupt heap or stack memory and crash applications.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|
Related vulnerabilities
- CVE-2026-78402 Stack-based buffer overflow and out-of-bounds write vulnerability in Thales Sentinel Keys… CWE-787
- CVE-2026-119777 A flaw was found in GStreamer's gst-plugins-bad H.266/VVC parser. CWE-787
- CVE-2026-104065 Scribus before 1.6.7 contains an out-of-bounds write vulnerability in the importdrw… CWE-787
- CVE-2026-104067 Scribus before 1.6.7 contains an out-of-bounds memory access vulnerability in the… CWE-787
- CVE-2026-104066 Scribus before 1.6.7 contains a heap buffer overflow vulnerability in the Mac PICT image… CWE-787
- CVE-2026-104061 Scribus before 1.6.7 contains a heap out-of-bounds write vulnerability in the… CWE-787
- CVE-2026-104062 Scribus before 1.6.7 contains a heap buffer overflow vulnerability in the PICT image… CWE-787
- CVE-2026-61627 libass is a portable subtitle renderer for the `ASS`/SSA (Advanced Substation… CWE-787