pipewire/spa/plugins
Wim Taymans e3e1c4d214 security: fix integer overflow in Bluetooth codec codesize calculations
Memory Safety: High

Several Bluetooth audio codec implementations calculate codesize by
multiplying samples * channels * sizeof(sample_type) without overflow
checks. The parameters come from Bluetooth codec negotiation, which is
influenced by the remote peer. If the multiplication overflows, codesize
wraps to a small value, causing subsequent buffer size checks to pass
while the actual data processing operates on the full (larger) sample
count, leading to heap buffer overflows.

Affected codecs: LC3 (BAP), LC3plus (A2DP), Opus (A2DP), Opus-G (A2DP).

Add overflow checks before each codesize multiplication to ensure the
result fits in the target integer type, returning -EINVAL on overflow.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-24 15:55:35 +02:00
..
aec spa: aec: Add some channel config validation 2026-03-17 12:06:25 +00:00
alsa alsa: acp: don’t override user-selected port on availability changes 2026-04-16 10:45:01 +00:00
audioconvert audioconvert: also benchmark the inter versions 2026-04-23 09:38:01 +02:00
audiomixer audiomixer: only add the input port to mix_list 2026-03-11 12:36:39 +01:00
audiotestsrc spa: do not use SPA_PROP_live 2026-03-27 18:03:24 +01:00
avb modules: support audio.layout where we can 2025-10-30 12:29:31 +01:00
bluez5 security: fix integer overflow in Bluetooth codec codesize calculations 2026-04-24 15:55:35 +02:00
control mixer: handle control.ump property 2026-03-25 11:59:43 +01:00
ffmpeg spa: use log topics everywhere 2024-03-11 18:45:21 +02:00
filter-graph security: fix unchecked allocation returns in filter-graph descriptor loading 2026-04-24 15:55:35 +02:00
jack *: don't include standard C headers inside of extern "C" 2025-05-30 09:48:28 +01:00
libcamera spa: libcamera: use std::span 2026-03-27 09:57:56 +01:00
support spa: system: make spa_poll_event compatible with epoll_events 2026-04-06 10:24:32 +00:00
test spa: do not use SPA_PROP_live 2026-03-27 18:03:24 +01:00
v4l2 v4l2: use 0x as the prefix for hex values 2026-03-09 13:50:38 +01:00
videoconvert audioadapter: remap port id for port_reuse_buffer on target 2026-04-20 07:55:54 +00:00
videotestsrc spa: do not use SPA_PROP_live 2026-03-27 18:03:24 +01:00
volume treewide: access the position information using helpers 2025-10-21 13:06:25 +02:00
vulkan vulkan: fix wrong descriptor image info index 2026-04-21 15:13:03 +00:00
meson.build spa/plugins: revert "Disable alsa plugin on !Linux platforms." 2026-03-12 09:20:05 +00:00