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
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| 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.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian 14 | linux | 6.0.8-1 | — |
| Debian 13 | linux | 6.0.8-1 | — |
| Debian 12 | linux | 6.0.8-1 | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| 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)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| 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 | — |
Red Hat
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| 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)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| 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 |
SUSE
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| 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)Fewer releases
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| 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
| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| 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
- RHSA-2023:2951 Red Hat Security Advisory: kernel security, bug fix, and enhancement update Red Hat Security Advisories (RHSA) · Oct 17, 2026
- RHSA-2023:3388 Red Hat Security Advisory: kernel security, bug fix, and enhancement update Red Hat Security Advisories (RHSA) · Oct 15, 2026
- RHSA-2023:0951 Red Hat Security Advisory: kernel security and bug fix update Red Hat Security Advisories (RHSA) · Aug 26, 2026
- RHSA-2023:4151 Red Hat Security Advisory: kernel security and bug fix update Red Hat Security Advisories (RHSA) · Aug 26, 2026
- SUSE-SU-2025:01995-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Mar 23, 2026
- SUSE-SU-2025:02262-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2025:01918-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2025:02173-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2025:01966-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2025:01982-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Feb 4, 2026
- SUSE-SU-2025:01983-1 Security update for the Linux Kernel SUSE / openSUSE Security Updates · Feb 4, 2026
- ALAS2-2022-1888 Important: kernel security update (Amazon Linux 2) Amazon Linux Security Center (ALAS) · Dec 19, 2025
References
- https://git.kernel.org/stable/c/dc30e05bb18852303084430c03ca76e69257d9ea
- https://git.kernel.org/stable/c/03af22e23b96fb7ef75fb7885407ef457e8b403d
- https://git.kernel.org/stable/c/6c7407bfbeafc80a04e6eaedcf34d378532a04f2
- https://git.kernel.org/stable/c/4cd094fd5d872862ca278e15b9b51b07e915ef3f
- https://git.kernel.org/stable/c/cb1c012099ef5904cd468bdb8d6fcdfdd9bcb569
- https://git.kernel.org/stable/c/8278a87bb1eeea94350d675ef961ee5a03341fde
- https://git.kernel.org/stable/c/9a04161244603f502c6e453913e51edd59cb70c1
- https://git.kernel.org/stable/c/3aff8aaca4e36dc8b17eaa011684881a80238966