Skip to content
OpenAdvisories
High · 8.8 CVE-2022-49910 EUVD-2025-12858GHSA-3vg9-6vwr-fh6q

Bluetooth: L2CAP: Fix use-after-free caused by l2cap_reassemble_sdu

Published May 1, 2025 · Updated Aug 5, 2026 · Assigned by Linux

Vendor: Linux Product: Linux Package: linux Package: linux Package: linux-allwinner-5.19 Package: linux-aws Package: linux-aws-5.0 Package: linux-aws-5.11 Package: linux-aws-5.13 Package: linux-aws-5.15 Package: linux-aws-5.19 Package: linux-aws-5.3 Package: linux-aws-5.4 Package: linux-aws-5.8 Package: linux-aws-6.2 Package: linux-aws-6.5 Package: linux-aws-fips Package: linux-aws-hwe Package: linux-azure Package: linux-azure-4.15 Package: linux-azure-5.11 Package: linux-azure-5.13 Package: linux-azure-5.15 Package: linux-azure-5.19 Package: linux-azure-5.3 Package: linux-azure-5.4 Package: linux-azure-5.8 Package: linux-azure-6.2 Package: linux-azure-6.5 Package: linux-azure-edge Package: linux-azure-fde Package: linux-azure-fde-5.15 Package: linux-azure-fde-5.19 Package: linux-azure-fde-6.2 Package: linux-azure-fips Package: linux-bluefield Package: linux-fips Package: linux-gcp Package: linux-gcp-4.15 Package: linux-gcp-5.11 Package: linux-gcp-5.13 Package: linux-gcp-5.15 Package: linux-gcp-5.19 Package: linux-gcp-5.3 Package: linux-gcp-5.4 Package: linux-gcp-5.8 Package: linux-gcp-6.2 Package: linux-gcp-6.5 Package: linux-gcp-fips Package: linux-gke Package: linux-gke-4.15 Package: linux-gke-5.15 Package: linux-gke-5.4 Package: linux-gkeop Package: linux-gkeop-5.15 Package: linux-gkeop-5.4 Package: linux-hwe Package: linux-hwe-5.11 Package: linux-hwe-5.13 Package: linux-hwe-5.15 Package: linux-hwe-5.19 Package: linux-hwe-5.4 Package: linux-hwe-5.8 Package: linux-hwe-6.2 Package: linux-hwe-6.5 Package: linux-hwe-edge Package: linux-ibm Package: linux-ibm-5.15 Package: linux-ibm-5.4 Package: linux-intel-5.13 Package: linux-intel-iot-realtime Package: linux-intel-iotg Package: linux-intel-iotg-5.15 Package: linux-iot Package: linux-kvm Package: linux-lowlatency Package: linux-lowlatency-hwe-5.15 Package: linux-lowlatency-hwe-5.19 Package: linux-lowlatency-hwe-6.2 Package: linux-lowlatency-hwe-6.5 Package: linux-lts-xenial Package: linux-nvidia Package: linux-nvidia-6.2 Package: linux-nvidia-6.5 Package: linux-nvidia-tegra Package: linux-nvidia-tegra-5.15 Package: linux-nvidia-tegra-igx Package: linux-oem Package: linux-oem-5.10 Package: linux-oem-5.13 Package: linux-oem-5.14 Package: linux-oem-5.17 Package: linux-oem-5.6 Package: linux-oem-6.0 Package: linux-oem-6.1 Package: linux-oem-6.5 Package: linux-oracle Package: linux-oracle-5.0 Package: linux-oracle-5.11 Package: linux-oracle-5.13 Package: linux-oracle-5.15 Package: linux-oracle-5.3 Package: linux-oracle-5.4 Package: linux-oracle-5.8 Package: linux-oracle-6.5 Package: linux-raspi Package: linux-raspi-5.4 Package: linux-raspi-realtime Package: linux-raspi2 Package: linux-realtime Package: linux-riscv Package: linux-riscv-5.11 Package: linux-riscv-5.15 Package: linux-riscv-5.19 Package: linux-riscv-5.8 Package: linux-riscv-6.5 Package: linux-starfive-5.19 Package: linux-starfive-6.2 Package: linux-starfive-6.5 Package: linux-vmware Package: linux-xilinx-zynqmp Platform: Linux Ecosystem: Debian Ecosystem: Ubuntu

Description

In the Linux kernel, the following vulnerability has been resolved:

Bluetooth: L2CAP: Fix use-after-free caused by l2cap_reassemble_sdu

Fix the race condition between the following two flows that run in
parallel:

1. l2cap_reassemble_sdu -> chan->ops->recv (l2cap_sock_recv_cb) ->
__sock_queue_rcv_skb.

2. bt_sock_recvmsg -> skb_recv_datagram, skb_free_datagram.

An SKB can be queued by the first flow and immediately dequeued and
freed by the second flow, therefore the callers of l2cap_reassemble_sdu
can't use the SKB after that function returns. However, some places
continue accessing struct l2cap_ctrl that resides in the SKB's CB for a
short time after l2cap_reassemble_sdu returns, leading to a
use-after-free condition (the stack trace is below, line numbers for
kernel 5.19.8).

Fix it by keeping a local copy of struct l2cap_ctrl.

BUG: KASAN: use-after-free in l2cap_rx_state_recv (net/bluetooth/l2cap_core.c:6906) bluetooth
Read of size 1 at addr ffff88812025f2f0 by task kworker/u17:3/43169

Workqueue: hci0 hci_rx_work [bluetooth]
Call Trace:
<TASK>
dump_stack_lvl (lib/dump_stack.c:107 (discriminator 4))
print_report.cold (mm/kasan/report.c:314 mm/kasan/report.c:429)
? l2cap_rx_state_recv (net/bluetooth/l2cap_core.c:6906) bluetooth
kasan_report (mm/kasan/report.c:162 mm/kasan/report.c:493)
? l2cap_rx_state_recv (net/bluetooth/l2cap_core.c:6906) bluetooth
l2cap_rx_state_recv (net/bluetooth/l2cap_core.c:6906) bluetooth
l2cap_rx (net/bluetooth/l2cap_core.c:7236 net/bluetooth/l2cap_core.c:7271) bluetooth
ret_from_fork (arch/x86/entry/entry_64.S:306)
</TASK>

Allocated by task 43169:
kasan_save_stack (mm/kasan/common.c:39)
__kasan_slab_alloc (mm/kasan/common.c:45 mm/kasan/common.c:436 mm/kasan/common.c:469)
kmem_cache_alloc_node (mm/slab.h:750 mm/slub.c:3243 mm/slub.c:3293)
__alloc_skb (net/core/skbuff.c:414)
l2cap_recv_frag (./include/net/bluetooth/bluetooth.h:425 net/bluetooth/l2cap_core.c:8329) bluetooth
l2cap_recv_acldata (net/bluetooth/l2cap_core.c:8442) bluetooth
hci_rx_work (net/bluetooth/hci_core.c:3642 net/bluetooth/hci_core.c:3832) bluetooth
process_one_work (kernel/workqueue.c:2289)
worker_thread (./include/linux/list.h:292 kernel/workqueue.c:2437)
kthread (kernel/kthread.c:376)
ret_from_fork (arch/x86/entry/entry_64.S:306)

Freed by task 27920:
kasan_save_stack (mm/kasan/common.c:39)
kasan_set_track (mm/kasan/common.c:45)
kasan_set_free_info (mm/kasan/generic.c:372)
____kasan_slab_free (mm/kasan/common.c:368 mm/kasan/common.c:328)
slab_free_freelist_hook (mm/slub.c:1780)
kmem_cache_free (mm/slub.c:3536 mm/slub.c:3553)
skb_free_datagram (./include/net/sock.h:1578 ./include/net/sock.h:1639 net/core/datagram.c:323)
bt_sock_recvmsg (net/bluetooth/af_bluetooth.c:295) bluetooth
l2cap_sock_recvmsg (net/bluetooth/l2cap_sock.c:1212) bluetooth
sock_read_iter (net/socket.c:1087)
new_sync_read (./include/linux/fs.h:2052 fs/read_write.c:401)
vfs_read (fs/read_write.c:482)
ksys_read (fs/read_write.c:620)
do_syscall_64 (arch/x86/entry/common.c:50 arch/x86/entry/common.c:80)
entry_SYSCALL_64_after_hwframe (arch/x86/entry/entry_64.S:120)

Affected products

VendorProductAffectedFixed
Linux Linux 3.6 4.9.333

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 linux 6.0.8-1 —
Debian 13 linux 6.0.8-1 —
Debian 12 linux 6.0.8-1 —
ReleasePackageFixed inAdvisory
Ubuntu Nvidia-BlueField 22.04 LTS linux-bluefield No fix yet —
Ubuntu 24.04 LTS linux-realtime +1 No fix yet —
Ubuntu 22.04 LTS linux +49 No fix yet —
Ubuntu 20.04 LTS linux-gke +28 No fix yet —
Ubuntu 18.04 LTS linux-gcp +14 No fix yet —
Show 14 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu 16.04 LTS linux-hwe-edge No fix yet —
Ubuntu Pro Realtime 22.04 LTS linux-realtime +1 No fix yet —
Ubuntu Pro FIPS 20.04 LTS linux-fips +3 No fix yet —
Ubuntu Pro FIPS 18.04 LTS linux-fips +3 No fix yet —
Ubuntu Pro FIPS 16.04 LTS linux-fips No fix yet —
Ubuntu Pro FIPS-updates 22.04 LTS linux-fips +3 No fix yet —
Ubuntu Pro FIPS-updates 20.04 LTS linux-fips +3 No fix yet —
Ubuntu Pro FIPS-updates 18.04 LTS linux-fips +3 No fix yet —
Ubuntu Pro FIPS-updates 16.04 LTS linux-fips No fix yet —
Ubuntu Pro FIPS-preview 22.04 LTS linux-fips +3 No fix yet —
Ubuntu Pro 20.04 LTS linux +21 No fix yet —
Ubuntu Pro 18.04 LTS linux +12 No fix yet —
Ubuntu Pro 16.04 LTS linux +7 No fix yet —
Ubuntu Pro 14.04 LTS linux +3 No fix yet —
ReleasePackageFixed inAdvisory
RHEL 9 perf +29 5.14.0-162.18.1.el9_1 RHSA-2023:0951
RHEL 8 perf +26 4.18.0-477.10.1.el8_8 RHSA-2023:2951
RHEL 7 perf +18 3.10.0-1160.95.1.el7 RHSA-2023:4151
Show 2 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Red Hat Rhev Hypervisor 4 perf +2 4.18.0-372.57.1.el8_6 RHSA-2023:3388
RHEL 8.6 EUS perf +26 4.18.0-372.57.1.el8_6 RHSA-2023:3388
ReleasePackageFixed inAdvisory
SLES 15 SP5 kernel-64kb +6 5.14.21-150500.55.110.1 SUSE-SU-2025:02173-1
SLES 15 SP5 kernel-default-base 5.14.21-150500.55.110.1.150500.6.51.3 SUSE-SU-2025:02173-1
SLES 15 SP4 kernel-64kb +6 5.14.21-150400.24.167.1 SUSE-SU-2025:02262-1
SLES 15 SP4 kernel-default-base 5.14.21-150400.24.167.1.150400.24.84.1 SUSE-SU-2025:02262-1
SLES 15 SP3 kernel-64kb +7 5.3.18-150300.59.207.1 SUSE-SU-2025:01982-1
SLES 15 SP3 kernel-default-base 5.3.18-150300.59.207.1.150300.18.124.1 SUSE-SU-2025:01982-1
SLES 12 SP5 kernel-syms +2 4.12.14-122.261.1 SUSE-SU-2025:01983-1
Show 18 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
SLES for SAP 15 SP5 kernel-default-base 5.14.21-150500.55.110.1.150500.6.51.3 SUSE-SU-2025:02173-1
SLES for SAP 15 SP5 kernel-docs +4 5.14.21-150500.55.110.1 SUSE-SU-2025:02173-1
SLES for SAP 15 SP4 kernel-default-base 5.14.21-150400.24.167.1.150400.24.84.1 SUSE-SU-2025:02262-1
SLES for SAP 15 SP4 kernel-docs +4 5.14.21-150400.24.167.1 SUSE-SU-2025:02262-1
SLES for SAP 15 SP3 kernel-default-base 5.3.18-150300.59.207.1.150300.18.124.1 SUSE-SU-2025:01982-1
SLES for SAP 15 SP3 kernel-docs +5 5.3.18-150300.59.207.1 SUSE-SU-2025:01982-1
SLE Micro 5.5 kernel-default-base 5.14.21-150500.55.110.1.150500.6.51.3 SUSE-SU-2025:02173-1
SLE Micro 5.5 kernel-rt +1 5.14.21-150500.13.97.1 SUSE-SU-2025:01966-1
SLE Micro 5.5 kernel-source +1 5.14.21-150500.55.110.1 SUSE-SU-2025:02173-1
SLE Micro 5.4 kernel-default 5.14.21-150400.24.167.1 SUSE-SU-2025:02262-1
SLE Micro 5.4 kernel-default-base 5.14.21-150400.24.167.1.150400.24.84.1 SUSE-SU-2025:02262-1
SLE Micro 5.4 kernel-rt +1 5.14.21-150400.15.121.1 SUSE-SU-2025:01918-1
SLE Micro 5.3 kernel-default 5.14.21-150400.24.167.1 SUSE-SU-2025:02262-1
SLE Micro 5.3 kernel-default-base 5.14.21-150400.24.167.1.150400.24.84.1 SUSE-SU-2025:02262-1
SLE Micro 5.3 kernel-rt +1 5.14.21-150400.15.121.1 SUSE-SU-2025:01918-1
SLE Micro 5.2 kernel-default 5.3.18-150300.59.207.1 SUSE-SU-2025:01982-1
SLE Micro 5.2 kernel-default-base 5.3.18-150300.59.207.1.150300.18.124.1 SUSE-SU-2025:01982-1
SLE Micro 5.2 kernel-rt +1 5.3.18-150300.211.1 SUSE-SU-2025:01995-1
SLE Micro 5.1 kernel-default 5.3.18-150300.59.207.1 SUSE-SU-2025:01982-1
SLE Micro 5.1 kernel-default-base 5.3.18-150300.59.207.1.150300.18.124.1 SUSE-SU-2025:01982-1
SLE Micro 5.1 kernel-rt +1 5.3.18-150300.211.1 SUSE-SU-2025:01995-1
SLE Live Patching 15 SP5 kernel-default 5.14.21-150500.55.110.1 SUSE-SU-2025:02173-1
SLE Live Patching 15 SP5 kernel-livepatch-SLE15-SP5_Update_27 1-150500.11.7.1 SUSE-SU-2025:02173-1
SLE Live Patching 15 SP4 kernel-default 5.14.21-150400.24.167.1 SUSE-SU-2025:02262-1
SLE Live Patching 15 SP4 kernel-livepatch-SLE15-SP4_Update_41 1-150400.9.3.1 SUSE-SU-2025:02262-1
SLE Live Patching 15 SP3 kernel-default 5.3.18-150300.59.207.1 SUSE-SU-2025:01982-1
SLE Live Patching 15 SP3 kernel-livepatch-SLE15-SP3_Update_58 1-150300.7.3.1 SUSE-SU-2025:01982-1
SLE Live Patching 12 SP5 kernel-default 4.12.14-122.261.1 SUSE-SU-2025:01983-1
SLE Live Patching 12 SP5 kgraft-patch-SLE12-SP5_Update_69 1-8.3.1 SUSE-SU-2025:01983-1
SLE HPC 15 SP5 kernel-64kb +5 5.14.21-150500.55.110.1 SUSE-SU-2025:02173-1
SLE HPC 15 SP5 kernel-default-base 5.14.21-150500.55.110.1.150500.6.51.3 SUSE-SU-2025:02173-1
SLE HPC 15 SP4 kernel-64kb +5 5.14.21-150400.24.167.1 SUSE-SU-2025:02262-1
SLE HPC 15 SP4 kernel-default-base 5.14.21-150400.24.167.1.150400.24.84.1 SUSE-SU-2025:02262-1
SLE HPC 15 SP3 kernel-64kb +6 5.3.18-150300.59.207.1 SUSE-SU-2025:01982-1
SLE HPC 15 SP3 kernel-default-base 5.3.18-150300.59.207.1.150300.18.124.1 SUSE-SU-2025:01982-1
SUSE Manager Server 4.3 kernel-default-base 5.14.21-150400.24.167.1.150400.24.84.1 SUSE-SU-2025:02262-1
SUSE Manager Server 4.3 kernel-syms +3 5.14.21-150400.24.167.1 SUSE-SU-2025:02262-1
SUSE Manager Proxy 4.3 kernel-default-base 5.14.21-150400.24.167.1.150400.24.84.1 SUSE-SU-2025:02262-1
SUSE Manager Proxy 4.3 kernel-syms +2 5.14.21-150400.24.167.1 SUSE-SU-2025:02262-1
SUSE Enterprise Storage 7.1 kernel-64kb +6 5.3.18-150300.59.207.1 SUSE-SU-2025:01982-1
SUSE Enterprise Storage 7.1 kernel-default-base 5.3.18-150300.59.207.1.150300.18.124.1 SUSE-SU-2025:01982-1

Amazon Linux

ReleasePackageFixed inAdvisory
Amazon Linux 2 kernel-livepatch-4.14.299-223.520 1.0-0.amzn2 ALAS2-2022-1888
Amazon Linux 2 perf +8 4.14.299-223.520.amzn2 ALAS2-2022-1888

Advisories 12

References