CVE-2025-39860 json
Bluetooth: Fix use-after-free in l2cap_sock_cleanup_listen()
published 2025-09-19 13 mo ago modified 2026-10-19 20 d ago also EUVD-2025-30340
- cvss
- 8.0
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.2%
- EPSS 0.2% chance of exploitation in 30 days, percentile 14%
- public exploits
- 0
- none known
Summary
In the Linux kernel, the following vulnerability has been resolved:
Bluetooth: Fix use-after-free in l2cap_sock_cleanup_listen()
syzbot reported the splat below without a repro.
In the splat, a single thread calling bt_accept_dequeue() freed sk and touched it after that.
The root cause would be the racy l2cap_sock_cleanup_listen() call added by the cited commit.
bt_accept_dequeue() is called under lock_sock() except for l2cap_sock_release().
Two threads could see the same socket during the list iteration in bt_accept_dequeue():
CPU1 CPU2 (close()) ---- ---- sock_hold(sk) sock_hold(sk); lock_sock(sk) <-- block close() sock_put(sk) bt_accept_unlink(sk) sock_put(sk) <-- refcnt by bt_accept_enqueue() release_sock(sk) lock_sock(sk) sock_put(sk) bt_accept_unlink(sk) sock_put(sk) <-- last refcnt bt_accept_unlink(sk) <-- UAF
Depending on the timing, the other thread could show up in the "Freed by task" part.
Let's call l2cap_sock_cleanup_listen() under lock_sock() in l2cap_sock_release().
[0]: BUG: KASAN: slab-use-after-free in debug_spin_lock_before kernel/locking/spinlock_debug.c:86 [inline] BUG: KASAN: slab-use-after-free in do_raw_spin_lock+0x26f/0x2b0 kernel/locking/spinlock_debug.c:115 Read of size 4 at addr ffff88803b7eb1c4 by task syz.5.3276/16995 CPU: 3 UID: 0 PID: 16995 Comm: syz.5.3276 Not tainted syzkaller #0 PREEMPT(full) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.16.3-debian-1.16.3-2~bpo12+1 04/01/2014 Call Trace: <TASK> __dump_stack lib/dump_stack.c:94 [inline] dump_stack_lvl+0x116/0x1f0 lib/dump_stack.c:120 print_address_description mm/kasan/report.c:378 [inline] print_report+0xcd/0x630 mm/kasan/report.c:482 kasan_report+0xe0/0x110 mm/kasan/report.c:595 debug_spin_lock_before kernel/locking/spinlock_debug.c:86 [inline] do_raw_spin_lock+0x26f/0x2b0 kernel/locking/spinlock_debug.c:115 spin_lock_bh include/linux/spinlock.h:356 [inline] release_sock+0x21/0x220 net/core/sock.c:3746 bt_accept_dequeue+0x505/0x600 net/bluetooth/af_bluetooth.c:312 l2cap_sock_cleanup_listen+0x5c/0x2a0 net/bluetooth/l2cap_sock.c:1451 l2cap_sock_release+0x5c/0x210 net/bluetooth/l2cap_sock.c:1425 __sock_release+0xb3/0x270 net/socket.c:649 sock_close+0x1c/0x30 net/socket.c:1439 __fput+0x3ff/0xb70 fs/file_table.c:468 task_work_run+0x14d/0x240 kernel/task_work.c:227 resume_user_mode_work include/linux/resume_user_mode.h:50 [inline] exit_to_user_mode_loop+0xeb/0x110 kernel/entry/common.c:43 exit_to_user_mode_prepare include/linux/irq-entry-common.h:225 [inline] syscall_exit_to_user_mode_work include/linux/entry-common.h:175 [inline] syscall_exit_to_user_mode include/linux/entry-common.h:210 [inline] do_syscall_64+0x3f6/0x4c0 arch/x86/entry/syscall_64.c:100 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7f2accf8ebe9 Code: ff ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 c7 c1 a8 ff ff ff f7 d8 64 89 01 48 RSP: 002b:00007ffdb6cb1378 EFLAGS: 00000246 ORIG_RAX: 00000000000001b4 RAX: 0000000000000000 RBX: 00000000000426fb RCX: 00007f2accf8ebe9 RDX: 0000000000000000 RSI: 000000000000001e RDI: 0000000000000003 RBP: 00007f2acd1b7da0 R08: 0000000000000001 R09: 00000012b6cb166f R10: 0000001b30e20000 R11: 0000000000000246 R12: 00007f2acd1b609c R13: 00007f2acd1b6090 R14: ffffffffffffffff R15: 00007ffdb6cb1490 </TASK>
Allocated by task 5326: kasan_save_stack+0x33/0x60 mm/kasan/common.c:47 kasan_save_track+0x14/0x30 mm/kasan/common.c:68 poison_kmalloc_redzone mm/kasan/common.c:388 [inline] __kasan_kmalloc+0xaa/0xb0 mm/kasan/common.c:405 kasan_kmalloc include/linux/kasan.h:260 [inline] __do_kmalloc_node mm/slub.c:4365 [inline] __kmalloc_nopro ---truncated---
Patch / fix
- Linux Linux 4.15, 4.20, 5.4.299, 5.10.243, 5.15.192, 6.1.151, 6.5, 6.6.105, 6.12.46, 6.16.6, 6.17
- Siemens RUGGEDCOM RST2428P V3.3
- Siemens SCALANCE XC-300/XR-300/XC-400/XR-500WG/XR-500 family V3.3
- Siemens SCALANCE XCH328 V3.3
- Siemens SCALANCE XCM324 V3.3
- Siemens SCALANCE XCM328 V3.3
- Siemens SCALANCE XCM332 V3.3
- Siemens SCALANCE XRH334 (24 V DC, 8xFO, CC) V3.3
- Siemens SCALANCE XRM334 (230 V AC, 12xFO) V3.3
- Siemens SCALANCE XRM334 (230 V AC, 8xFO) V3.3
- Siemens SCALANCE XRM334 (230V AC, 2x10G, 24xSFP, 8xSFP+) V3.3
- Siemens SCALANCE XRM334 (24 V DC, 12xFO) V3.3
- Siemens SCALANCE XRM334 (24 V DC, 8xFO) V3.3
- Siemens SCALANCE XRM334 (24V DC, 2x10G, 24xSFP, 8xSFP+) V3.3
- Siemens SCALANCE XRM334 (2x230 V AC, 12xFO) V3.3
- Siemens SCALANCE XRM334 (2x230 V AC, 8xFO) V3.3
- Siemens SCALANCE XRM334 (2x230V AC, 2x10G, 24xSFP, 8xSFP+) V3.3
- Siemens SIMATIC CN 4100 V5.0
- linux Debian 12 6.1.153-1
- linux Debian 13 6.12.48-1
- linux Debian 14 6.16.6-1
debian advisories DEBIAN-CVE-2025-39860
- linux Ubuntu 22.04 LTS 5.15.0-163.173
- linux Ubuntu 24.04 LTS 6.8.0-106.106
- linux-aws Ubuntu 22.04 LTS 5.15.0-1097.104
- linux-aws Ubuntu 24.04 LTS 6.8.0-1050.53
- linux-gcp Ubuntu 22.04 LTS 5.15.0-1097.106
- linux-gcp Ubuntu 24.04 LTS 6.8.0-1052.55
- linux-gke Ubuntu 22.04 LTS 5.15.0-1093.99
- linux-gke Ubuntu 24.04 LTS 6.8.0-1048.53
ubuntu advisories UBUNTU-CVE-2025-39860
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- kernel-rt Linux Micro 6.2 6.12.0-160000.6.1
- kernel-64kb SLES 16.0, Linux Micro 6.2, SLES for SAP applications 16.0 6.12.0-160000.6.1
- kernel-source SLES 16.0, Linux Micro 6.2, SLES for SAP applications 16.0 6.12.0-160000.6.1
- kernel-default SLES 16.0, SLE High Availability Extension 16.0, Linux Micro 6.2 +1 more 6.12.0-160000.6.1
- kernel-default-base SLES 16.0, Linux Micro 6.2, SLES for SAP applications 16.0 6.12.0-160000.6.1.160000.2.4
- kernel-syms SLES 16.0, Linux Micro Extras 6.2, SLES for SAP applications 16.0 6.12.0-160000.6.1
- kernel-obs-qa SLES for SAP applications 16.0, SLES 16.0 6.12.0-160000.6.1
- kernel-kvmsmall SLES for SAP applications 16.0, SLES 16.0 6.12.0-160000.6.1
suse advisories SUSE-SU-2025:21074-1SUSE-SU-2025:21139-1SUSE-SU-2026:20560-1SUSE-SU-2025:21179-1SUSE-SU-2025:4141-1SUSE-SU-2025:4132-1
- kernel-rt openSUSE Leap 16.0 6.12.0-160000.6.1
- dtb-aarch64 openSUSE Leap 16.0 6.12.0-160000.6.1
- kernel-64kb openSUSE Leap 16.0 6.12.0-160000.6.1
- kernel-syms openSUSE Leap 16.0 6.12.0-160000.6.1
- kernel-obs-qa openSUSE Leap 16.0 6.12.0-160000.6.1
- kernel-source openSUSE Leap 16.0 6.12.0-160000.6.1
- kernel-default openSUSE Leap 16.0 6.12.0-160000.6.1
- kernel-kvmsmall openSUSE Leap 16.0 6.12.0-160000.6.1
opensuse advisories openSUSE-SU-2025:20081-1
- kernel Azure Linux 3.0 6.6.112.1-1
- kernel CBL-Mariner 2.0 5.15.200.1-1
azure linux advisories AZL-67559AZL-74918
Azure Linux vulnerability data, Copyright (c) Microsoft Corporation, from https://github.com/microsoft/AzureLinuxVulnerabilityData via OSV, under the MIT licence; changed: normalised to fixed package versions per release. MIT
- git.kernel.org/stable/c/964cbb198f9c46c2b2358cd1faffc04c1e8248cf commit
- git.kernel.org/stable/c/83e1d9892ef51785cf0760b7681436760dda435a commit
- git.kernel.org/stable/c/47f6090bcf75c369695d21c3f179db8a56bbbd49 commit
- git.kernel.org/stable/c/2ca99fc3512a8074de20ee52a87b492dfcc41a4d commit
- git.kernel.org/stable/c/6077d16b5c0f65d571eee709de2f0541fb5ef0ca commit
- git.kernel.org/stable/c/306b0991413b482dbf5585b423022123bb505966 commit
- git.kernel.org/stable/c/3dff390f55ccd9ce12e91233849769b5312180c2 commit
- git.kernel.org/stable/c/862c628108562d8c7a516a900034823b381d3cba commit
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2025-39860 updated cvss 4.7
kernel: Bluetooth: Fix use-after-free in l2cap_sock_cleanup_listen()
-
Red Hat Enterprise Linux 8 perf, kernel, bpftool, kernel-rt, kernel-core, kernel-tools, +29 more Red Hat Enterprise Linux 9 rv, perf, rtla, kernel, bpftool, libperf, +83 more Red Hat Enterprise Linux 10 kernelaffected: workaround, no fix available “Fix deferred”
-
Red Hat Enterprise Linux 6 perf, kernel, python-perf, kernel-kdump, kernel-firmware, kernel-bootwrapper, +1 more Red Hat Enterprise Linux 7 perf, kernel, bpftool, kernel-rt, python-perf, kernel-kdump, +8 morenot affected: vulnerable code not present
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
cisa ICSA-26-134-10 updated cvss 7.1
Siemens SIMATIC
-
Siemens SIMATIC CN 4100 < 5.0affected: fixed in V5.0 support.industry.siemens.com
Facts from CISA's republication of the vendor's own advisory (CSAF); the linked advisory is the authoritative source. CISA notification · csaf
cisa ICSA-26-043-06 updated cvss 7.1
Siemens SINEC OS
-
Siemens RUGGEDCOM RST2428P (6GK6242-6PA00) < 3.3affected: fixed in V3.3 support.industry.siemens.com
-
Siemens SCALANCE XC-300/XR-300/XC-400/XR-500WG/XR-500 family < 3.3affected: fixed in V3.3
-
Siemens SCALANCE XCH328 (6GK5328-4TS01-2EC2) < 3.3 Siemens SCALANCE XCM324 (6GK5324-8TS01-2AC2) < 3.3 Siemens SCALANCE XCM328 (6GK5328-4TS01-2AC2) < 3.3 Siemens SCALANCE XCM332 (6GK5332-0GA01-2AC2) < 3.3 Siemens SCALANCE XRH334 (24 V DC, 8xFO, CC) (6GK5334-2TS01-2ER3) < 3.3 Siemens SCALANCE XRM334 (2x230 V AC, 8xFO) (6GK5334-2TS01-4AR3) < 3.3affected: fixed in V3.3 support.industry.siemens.com
+8 more productsfewer
Siemens SCALANCE XRM334 (2x230 V AC, 12xFO) (6GK5334-3TS01-4AR3) < 3.3 Siemens SCALANCE XRM334 (2x230V AC, 2x10G, 24xSFP, 8xSFP+) (6GK5334-5TS01-4AR3) < 3.3 Siemens SCALANCE XRM334 (24 V DC, 8xFO) (6GK5334-2TS01-2AR3) < 3.3 Siemens SCALANCE XRM334 (24 V DC, 12xFO) (6GK5334-3TS01-2AR3) < 3.3 Siemens SCALANCE XRM334 (24V DC, 2x10G, 24xSFP, 8xSFP+) (6GK5334-5TS01-2AR3) < 3.3 Siemens SCALANCE XRM334 (230 V AC, 8xFO) (6GK5334-2TS01-3AR3) < 3.3 Siemens SCALANCE XRM334 (230 V AC, 12xFO) (6GK5334-3TS01-3AR3) < 3.3 Siemens SCALANCE XRM334 (230V AC, 2x10G, 24xSFP, 8xSFP+) (6GK5334-5TS01-3AR3) < 3.3
Facts from CISA's republication of the vendor's own advisory (CSAF); the linked advisory is the authoritative source. CISA notification · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- total
- Assessed
- 24 d ago
Exploit prediction
0.23% chance of exploitation in the next 30 days, higher than 14% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 8.0 | CVSS:3.1/AV:A/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| NVD | 3.1 | 7.8 | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
Affected products
- Linux Linux
- Siemens RUGGEDCOM RST2428P
- Siemens SCALANCE XC-300/XR-300/XC-400/XR-500WG/XR-500 family
- Siemens SCALANCE XCH328
- Siemens SCALANCE XCM324
- Siemens SCALANCE XCM328
- Siemens SCALANCE XCM332
- Siemens SCALANCE XRH334 (24 V DC, 8xFO, CC)
- Siemens SCALANCE XRM334 (230 V AC, 12xFO)
- Siemens SCALANCE XRM334 (230 V AC, 8xFO)
- Siemens SCALANCE XRM334 (230V AC, 2x10G, 24xSFP, 8xSFP+)
- Siemens SCALANCE XRM334 (24 V DC, 12xFO)
- Siemens SCALANCE XRM334 (24 V DC, 8xFO)
- Siemens SCALANCE XRM334 (24V DC, 2x10G, 24xSFP, 8xSFP+)
- Siemens SCALANCE XRM334 (2x230 V AC, 12xFO)
- Siemens SCALANCE XRM334 (2x230 V AC, 8xFO)
- Siemens SCALANCE XRM334 (2x230V AC, 2x10G, 24xSFP, 8xSFP+)
- Siemens SIMATIC CN 4100
Classification
- Weakness
-
- CWE-416 Use After Free
- Technology feeds
References
-
git.kernel.org
/stable/c/964cbb198f9c46c2b2358cd1faffc04c1e8248cf
patch
-
git.kernel.org
/stable/c/83e1d9892ef51785cf0760b7681436760dda435a
patch
-
git.kernel.org
/stable/c/47f6090bcf75c369695d21c3f179db8a56bbbd49
patch
-
git.kernel.org
/stable/c/2ca99fc3512a8074de20ee52a87b492dfcc41a4d
patch
-
git.kernel.org
/stable/c/6077d16b5c0f65d571eee709de2f0541fb5ef0ca
patch
-
git.kernel.org
/stable/c/306b0991413b482dbf5585b423022123bb505966
patch
-
git.kernel.org
/stable/c/3dff390f55ccd9ce12e91233849769b5312180c2
patch
-
git.kernel.org
/stable/c/862c628108562d8c7a516a900034823b381d3cba
patch
-
lists.debian.org
/debian-lts-announce/2025/10/msg00008.html
mailing-list, third-party-advisory
-
lists.debian.org
/debian-lts-announce/2025/10/msg00007.html
mailing-list, third-party-advisory
- cert-portal.siemens.com /productcert/html/ssa-089022.html
- cert-portal.siemens.com /productcert/html/ssa-032379.html
Sources
- CVE List CVE-2025-39860
- NVD CVE-2025-39860
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.