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.
https://hackmd.io/@haindpwn/speex-bits-read-whole-bytes-oob-write
https://gitlab.xiph.org/xiph/speex/-/merge_requests/32
https://github.com/xiph/speex/issues/42
https://github.com/xiph/speex/blob/Speex-1.2.1/libspeex/bits.c#L177
Published: 2026-10-26
Updated: 2026-10-27
Base Score: 6.1
Vector: CVSS2#AV:N/AC:H/Au:N/C:N/I:P/A:C
Severity: Medium
Base Score: 6.5
Vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:L/A:H
Severity: Medium
Base Score: 8.3
Vector: CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:N/VI:L/VA:H/SC:N/SI:N/SA:N
Severity: High
EPSS: 0.00409