In the Linux kernel, the following vulnerability has been resolved:
Bluetooth: hci_core: Fix use-after-free in vhci_flush()
syzbot reported use-after-free in vhci_flush() without repro. [0]
From the splat, a thread close()d a vhci file descriptor while its device was being used by iotcl() on another thread.
Once the last fd refcnt is released, vhci_release() calls hci_unregister_dev(), hci_free_dev(), and kfree() for struct vhci_data, which is set to hci_dev->dev->driver_data.
The problem is that there is no synchronisation after unlinking hdev from hci_dev_list in hci_unregister_dev(). There might be another thread still accessing the hdev which was fetched before the unlink operation.
We can use SRCU for such synchronisation.
Let's run hci_dev_reset() under SRCU and wait for its completion in hci_unregister_dev().
Another option would be to restore hci_dev->destruct(), which was removed in commit 587ae086f6e4 ("Bluetooth: Remove unused hci-destruct cb"). However, this would not be a good solution, as we should not run hci_unregister_dev() while there are in-flight ioctl() requests, which could lead to another data-race KCSAN splat.
Note that other drivers seem to have the same problem, for exmaple, virtbt_remove().
[0]: BUG: KASAN: slab-use-after-free in skb_queue_empty_lockless include/linux/skbuff.h:1891 [inline] BUG: KASAN: slab-use-after-free in skb_queue_purge_reason+0x99/0x360 net/core/skbuff.c:3937 Read of size 8 at addr ffff88807cb8d858 by task syz.1.219/6718
CPU: 1 UID: 0 PID: 6718 Comm: syz.1.219 Not tainted 6.16.0-rc1-syzkaller-00196-g08207f42d3ff #0 PREEMPT(full) Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 05/07/2025 Call Trace: <TASK> dump_stack_lvl+0x189/0x250 lib/dump_stack.c:120 print_address_description mm/kasan/report.c:408 [inline] print_report+0xd2/0x2b0 mm/kasan/report.c:521 kasan_report+0x118/0x150 mm/kasan/report.c:634 skb_queue_empty_lockless include/linux/skbuff.h:1891 [inline] skb_queue_purge_reason+0x99/0x360 net/core/skbuff.c:3937 skb_queue_purge include/linux/skbuff.h:3368 [inline] vhci_flush+0x44/0x50 drivers/bluetooth/hci_vhci.c:69 hci_dev_do_reset net/bluetooth/hci_core.c:552 [inline] hci_dev_reset+0x420/0x5c0 net/bluetooth/hci_core.c:592 sock_do_ioctl+0xd9/0x300 net/socket.c:1190 sock_ioctl+0x576/0x790 net/socket.c:1311 vfs_ioctl fs/ioctl.c:51 [inline] __do_sys_ioctl fs/ioctl.c:907 [inline] __se_sys_ioctl+0xf9/0x170 fs/ioctl.c:893 do_syscall_x64 arch/x86/entry/syscall_64.c:63 [inline] do_syscall_64+0xfa/0x3b0 arch/x86/entry/syscall_64.c:94 entry_SYSCALL_64_after_hwframe+0x77/0x7f RIP: 0033:0x7fcf5b98e929 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:00007fcf5c7b9038 EFLAGS: 00000246 ORIG_RAX: 0000000000000010 RAX: ffffffffffffffda RBX: 00007fcf5bbb6160 RCX: 00007fcf5b98e929 RDX: 0000000000000000 RSI: 00000000400448cb RDI: 0000000000000009 RBP: 00007fcf5ba10b39 R08: 0000000000000000 R09: 0000000000000000 R10: 0000000000000000 R11: 0000000000000246 R12: 0000000000000000 R13: 0000000000000000 R14: 00007fcf5bbb6160 R15: 00007ffd6353d528 </TASK>
Allocated by task 6535: kasan_save_stack mm/kasan/common.c:47 [inline] kasan_save_track+0x3e/0x80 mm/kasan/common.c:68 poison_kmalloc_redzone mm/kasan/common.c:377 [inline] __kasan_kmalloc+0x93/0xb0 mm/kasan/common.c:394 kasan_kmalloc include/linux/kasan.h:260 [inline] __kmalloc_cache_noprof+0x230/0x3d0 mm/slub.c:4359 kmalloc_noprof include/linux/slab.h:905 [inline] kzalloc_noprof include/linux/slab.h:1039 [inline] vhci_open+0x57/0x360 drivers/bluetooth/hci_vhci.c:635 misc_open+0x2bc/0x330 drivers/char/misc.c:161 chrdev_open+0x4c9/0x5e0 fs/char_dev.c:414 do_dentry_open+0xdf0/0x1970 fs/open.c:964 vfs_open+0x3b/0x340 fs/open.c:1094 do_open fs/namei.c:3887 [inline] path_openat+0x2ee5/0x3830 fs/name ---truncated---
CVSS Details
- CVSS 3.1 Base Score: 7.8
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Alma_linux | — | Upgrade rtlaUpgrade kernel-devel-matchedUpgrade kernel-rt-64k-modulesUpgrade kernel-64k-devel-matchedUpgrade kernel-rt-64k-debug-modules-extraUpgrade kernel-debug-develUpgrade kernel-rt-64k-debugUpgrade kernel-64k-debugUpgrade kernel-zfcpdump-develUpgrade kernel-rt-debug-develUpgrade kernelUpgrade kernel-headersUpgrade kernel-cross-headersUpgrade kernel-tools-libs-develUpgrade kernel-rt-64k-modules-coreUpgrade kernel-rt-64k-modules-extraUpgrade kernel-uki-virt-addonsUpgrade kernel-debug-modules-extraUpgrade kernel-abi-stablelistsUpgrade kernel-zfcpdump-modules-coreUpgrade kernel-64kUpgrade kernel-64k-debug-modules-extraUpgrade libperfUpgrade kernel-64k-coreUpgrade kernel-rt-64k-debug-modulesUpgrade kernel-zfcpdumpUpgrade kernel-rt-64k-debug-coreUpgrade kernel-debug-modulesUpgrade kernel-rt-modules-coreUpgrade kernel-rt-debug-kvmUpgrade kernel-modulesUpgrade kernel-64k-modulesUpgrade kernel-zfcpdump-modulesUpgrade kernel-debug-modules-coreUpgrade kernel-zfcpdump-coreUpgrade kernel-debug-devel-matchedUpgrade kernel-64k-debug-coreUpgrade kernel-modules-coreUpgrade kernel-rt-develUpgrade kernel-rt-debug-modules-coreUpgrade kernel-64k-debug-modules-coreUpgrade kernel-64k-debug-modulesUpgrade kernel-64k-debug-develUpgrade kernel-rt-64k-develUpgrade kernel-debug-coreUpgrade kernel-debug-uki-virtUpgrade kernel-zfcpdump-devel-matchedUpgrade perfUpgrade kernel-toolsUpgrade kernel-tools-libsUpgrade kernel-rt-modulesUpgrade kernel-debugUpgrade kernel-rt-kvmUpgrade rvUpgrade kernel-rt-debugUpgrade kernel-develUpgrade kernel-64k-debug-devel-matchedUpgrade kernel-64k-modules-extraUpgrade kernel-rt-coreUpgrade kernel-64k-modules-coreUpgrade kernel-zfcpdump-modules-extraUpgrade kernel-rt-64k-debug-develUpgrade kernel-rt-debug-modules-extraUpgrade python3-perfUpgrade kernel-rt-64k-coreUpgrade kernel-uki-virtUpgrade kernel-rtUpgrade kernel-rt-modules-extraUpgrade kernel-rt-debug-coreUpgrade bpftoolUpgrade kernel-rt-64kUpgrade kernel-rt-debug-modulesUpgrade kernel-rt-64k-debug-modules-coreUpgrade kernel-modules-extraUpgrade kernel-coreUpgrade kernel-docUpgrade kernel-64k-devel | Aug 19, 2025 | Aug 18, 2025 |
| Debian | — | Upgrade linux-6.1Upgrade linux | Jul 10, 2025 | Jul 10, 2025 |
| Oracle_linux | — | Upgrade kernel | Aug 19, 2025 | Jul 9, 2025 |
| Redhat_linux | — | Upgrade kernel-rtUpgrade kernelNo solution exists | Jul 10, 2025 | Jul 9, 2025 |
| Suse | — | Upgrade kselftests-kmp-rtUpgrade kernel-rt-develUpgrade kernel-rt-livepatch-develUpgrade kernel-rt_debugUpgrade dlm-kmp-rtUpgrade dtb-amlogicUpgrade dtb-rockchipUpgrade kernel-default-baseUpgrade cluster-md-kmp-defaultUpgrade dlm-kmp-defaultUpgrade kernel-azure-vdsoUpgrade dtb-renesasUpgrade kernel-default-extraUpgrade kernel-64kb-develUpgrade kernel-devel-rtUpgrade kernel-obs-qaUpgrade reiserfs-kmp-rtUpgrade kernel-docsUpgrade dtb-mediatekUpgrade kernel-macrosUpgrade dtb-xilinxUpgrade kernel-default-base-rebuildUpgrade dtb-socionextUpgrade kernel-default-manUpgrade kernel-defaultUpgrade kernel-64kb-extraUpgrade kselftests-kmp-defaultUpgrade cluster-md-kmp-64kbUpgrade dtb-sprdUpgrade kernel-symsUpgrade kernel-rt_debug-vdsoUpgrade kernel-syms-rtUpgrade reiserfs-kmp-azureUpgrade reiserfs-kmp-defaultUpgrade dlm-kmp-azureUpgrade dtb-armUpgrade kernel-default-livepatch-develUpgrade dtb-nvidiaUpgrade ocfs2-kmp-rtUpgrade dtb-apmUpgrade dtb-lgUpgrade dtb-allwinnerUpgrade kernel-source-vanillaUpgrade dlm-kmp-64kbUpgrade kernel-default-vdsoUpgrade kernel-kvmsmallUpgrade kernel-azure-develUpgrade dtb-marvellUpgrade kernel-debugUpgrade ocfs2-kmp-defaultUpgrade kernel-devel-azureUpgrade kernel-default-develUpgrade kernel-docs-htmlUpgrade dtb-freescaleUpgrade kselftests-kmp-azureUpgrade gfs2-kmp-64kbUpgrade cluster-md-kmp-azureUpgrade kernel-sourceUpgrade kernel-rt-extraUpgrade kernel-azureUpgrade kernel-kvmsmall-develUpgrade kernel-debug-develUpgrade kernel-azure-optionalUpgrade gfs2-kmp-defaultUpgrade kernel-source-rtUpgrade kernel-debug-vdsoUpgrade dtb-amazonUpgrade gfs2-kmp-rtUpgrade dtb-caviumUpgrade dtb-exynosUpgrade dtb-amdUpgrade kernel-64kb-optionalUpgrade dtb-qcomUpgrade dtb-hisiliconUpgrade kernel-default-optionalUpgrade reiserfs-kmp-64kbUpgrade ocfs2-kmp-64kbUpgrade kselftests-kmp-64kbUpgrade kernel-rt_debug-develUpgrade kernel-rtUpgrade kernel-kvmsmall-vdsoUpgrade kernel-develUpgrade dtb-alteraUpgrade ocfs2-kmp-azureUpgrade kernel-zfcpdumpUpgrade kernel-source-azureUpgrade kernel-rt-vdsoUpgrade kernel-azure-extraUpgrade dtb-broadcomUpgrade dtb-appleUpgrade kernel-rt-optionalUpgrade gfs2-kmp-azureUpgrade kernel-obs-buildUpgrade kernel-default-livepatchUpgrade kernel-64kbUpgrade cluster-md-kmp-rtUpgrade kernel-syms-azure | Dec 5, 2025 | Aug 27, 2025 |
| Ubuntu | — | Upgrade linux-image-5.15.0-1111-realtimeUpgrade linux-image-lowlatencyUpgrade linux-image-raspi-6.8Upgrade linux-image-nvidia-64k-6.8Upgrade linux-image-aws-fips-6.8Upgrade linux-image-azure-fdeUpgrade linux-image-ibmUpgrade linux-image-ibm-classicUpgrade linux-image-realtime-6.8.1Upgrade linux-image-6.14.0-1015-oracleUpgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-ibm-lts-24.04Upgrade linux-image-5.15.0-1108-gkeUpgrade linux-image-azureUpgrade linux-image-ibm-6.8Upgrade linux-image-xilinx-zynqmp-5.15Upgrade linux-image-kvmUpgrade linux-image-generic-64k-6.8Upgrade linux-image-nvidia-tegra-rt-5.15Upgrade linux-image-oracle-64k-lts-24.04Upgrade linux-image-nvidia-64k-hwe-22.04Upgrade linux-image-generic-64k-6.14Upgrade linux-image-5.15.0-1117-azure-fipsUpgrade linux-image-gcp-64kUpgrade linux-image-6.14.0-1018-gcp-64kUpgrade linux-image-aws-fipsUpgrade linux-image-gcp-5.15Upgrade linux-image-awsUpgrade linux-image-nvidia-tegra-igx-rt-5.15Upgrade linux-image-nvidia-lowlatencyUpgrade linux-image-oracle-6.14Upgrade linux-image-gke-64kUpgrade linux-image-5.15.0-1064-nvidia-tegra-rtUpgrade linux-image-virtual-6.8Upgrade linux-image-6.8.0-1043-gke-64kUpgrade linux-image-generic-lpaeUpgrade linux-image-5.15.0-1117-azureUpgrade linux-image-gke-5.15Upgrade linux-image-lowlatency-6.8Upgrade linux-image-aws-64k-lts-24.04Upgrade linux-image-nvidia-6.8Upgrade linux-image-aws-64k-6.8Upgrade linux-image-oracle-5.15Upgrade linux-image-6.8.0-100-lowlatencyUpgrade linux-image-oem-22.04aUpgrade linux-image-6.14.0-34-generic-64kUpgrade linux-image-6.8.0-1047-gcp-64kUpgrade linux-image-6.14.0-1015-oracle-64kUpgrade linux-image-azure-nvidia-6.14Upgrade linux-image-raspiUpgrade linux-image-5.15.0-1095-gkeopUpgrade linux-image-5.15.0-1112-gcp-fipsUpgrade linux-image-gcp-64k-lts-24.04Upgrade linux-image-6.8.0-1046-awsUpgrade linux-image-6.8.0-1023-xilinxUpgrade linux-image-raspi-6.14Upgrade linux-image-nvidia-tegra-igxUpgrade linux-image-6.14.0-1016-raspiUpgrade linux-image-6.8.0-1043-oracle-64kUpgrade linux-image-nvidia-tegra-rtUpgrade linux-image-6.8.0-1044-ibmUpgrade linux-image-aws-lts-22.04Upgrade linux-image-gcp-fipsUpgrade linux-image-6.8.0-1047-gcp-fipsUpgrade linux-image-5.15.0-1106-ibmUpgrade linux-image-oem-22.04Upgrade linux-image-generic-hwe-24.04Upgrade linux-image-lowlatency-64k-hwe-22.04Upgrade linux-image-6.14.0-1014-realtimeUpgrade linux-image-raspi-realtimeUpgrade linux-image-6.8.0-1051-azureUpgrade linux-image-virtual-hwe-22.04Upgrade linux-image-kvm-5.15Upgrade linux-image-nvidia-64kUpgrade linux-image-lowlatency-5.15Upgrade linux-image-gke-64k-6.8Upgrade linux-image-gkeopUpgrade linux-image-azure-fde-lts-22.04Upgrade linux-image-azure-fips-6.8Upgrade linux-image-6.8.0-1046-azure-fipsUpgrade linux-image-5.15.0-1107-intel-iotgUpgrade linux-image-aws-64k-6.14Upgrade linux-image-lowlatency-64k-5.15Upgrade linux-image-gke-6.8Upgrade linux-image-generic-hwe-20.04Upgrade linux-image-5.15.0-1053-nvidia-tegra-igx-rtUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-nvidia-hwe-22.04Upgrade linux-image-6.14.0-1007-azure-nvidiaUpgrade linux-image-5.15.0-184-lowlatency-64kUpgrade linux-image-5.15.0-1109-oracleUpgrade linux-image-6.8.0-1047-gcpUpgrade linux-image-aws-lts-24.04Upgrade linux-image-nvidia-lowlatency-64k-6.8Upgrade linux-image-azure-fips-5.15Upgrade linux-image-gcp-6.14Upgrade linux-image-raspi-realtime-6.8Upgrade linux-image-5.15.0-1064-nvidia-tegraUpgrade linux-image-oem-24.04aUpgrade linux-image-5.15.0-186-generic-64kUpgrade linux-image-nvidiaUpgrade linux-image-6.8.0-1046-aws-fipsUpgrade linux-image-azure-6.8Upgrade linux-image-5.15.0-1117-azure-fdeUpgrade linux-image-virtual-hwe-24.04Upgrade linux-image-oem-20.04Upgrade linux-image-nvidia-tegra-igx-5.15Upgrade linux-image-intel-iot-realtimeUpgrade linux-image-5.15.0-1107-nvidiaUpgrade linux-image-intel-iotgUpgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-generic-lpae-5.15Upgrade linux-image-gcp-fips-6.8Upgrade linux-image-aws-5.15Upgrade linux-image-6.14.0-1015-awsUpgrade linux-image-5.15.0-1112-aws-fipsUpgrade linux-image-5.15.0-186-generic-lpaeUpgrade linux-image-virtual-6.14Upgrade linux-image-virtualUpgrade linux-image-oem-24.04Upgrade linux-image-oem-20.04cUpgrade linux-image-oem-20.04bUpgrade linux-image-lowlatency-64k-6.8Upgrade linux-image-nvidia-5.15Upgrade linux-image-intel-iotg-5.15Upgrade linux-image-azure-6.14Upgrade linux-image-5.15.0-1112-aws-64kUpgrade linux-image-6.8.0-1043-gkeUpgrade linux-image-6.8.0-1047-raspiUpgrade linux-image-5.15.0-1112-gcpUpgrade linux-image-6.8.0-100-lowlatency-64kUpgrade linux-image-oem-20.04dUpgrade linux-image-oem-22.04cUpgrade linux-image-6.14.0-1018-gcpUpgrade linux-image-oracle-6.8Upgrade linux-image-6.14.0-1014-azureUpgrade linux-image-xilinxUpgrade linux-image-gcp-64k-6.8Upgrade linux-image-intelUpgrade linux-image-generic-6.8Upgrade linux-image-6.8.0-1046-nvidia-lowlatency-64kUpgrade linux-image-aws-64k-lts-22.04Upgrade linux-image-nvidia-tegra-5.15Upgrade linux-image-nvidia-lowlatency-6.8Upgrade linux-image-generic-hwe-22.04Upgrade linux-image-genericUpgrade linux-image-generic-64k-hwe-22.04Upgrade linux-image-fips-6.8Upgrade linux-image-fips-5.15Upgrade linux-image-6.8.0-1046-azureUpgrade linux-image-6.8.0-1030-gkeopUpgrade linux-image-5.15.0-1075-xilinx-zynqmpUpgrade linux-image-oracleUpgrade linux-image-oem-24.04bUpgrade linux-image-gcpUpgrade linux-image-6.8.0-1046-nvidia-64kUpgrade linux-image-6.14.0-1014-oemUpgrade linux-image-nvidia-tegraUpgrade linux-image-realtime-hwe-22.04Upgrade linux-image-gkeop-5.15Upgrade linux-image-oracle-lts-22.04Upgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-azure-lts-22.04Upgrade linux-image-oracle-64kUpgrade linux-image-gkeUpgrade linux-image-oracle-lts-24.04Upgrade linux-image-oem-22.04bUpgrade linux-image-nvidia-tegra-igx-rtUpgrade linux-image-lowlatency-64kUpgrade linux-image-generic-64kUpgrade linux-image-aws-64kUpgrade linux-image-6.8.0-2037-raspi-realtimeUpgrade linux-image-6.8.0-1046-nvidiaUpgrade linux-image-6.8.0-1043-oracleUpgrade linux-image-5.15.0-1053-nvidia-tegra-igxUpgrade linux-image-realtime-5.15Upgrade linux-image-realtimeUpgrade linux-image-6.14.0-1015-aws-64kUpgrade linux-image-6.8.0-100-fipsUpgrade linux-image-realtime-hwe-24.04Upgrade linux-image-6.8.0-1046-nvidia-lowlatencyUpgrade linux-image-5.15.0-186-fipsUpgrade linux-image-gcp-fips-5.15Upgrade linux-image-generic-64k-5.15Upgrade linux-image-gkeop-6.8Upgrade linux-image-intel-iot-realtime-5.15Upgrade linux-image-lowlatency-hwe-22.04Upgrade linux-image-oem-24.04cUpgrade linux-image-oracle-64k-6.14Upgrade linux-image-virtual-5.15Upgrade linux-image-5.15.0-1104-intel-iot-realtimeUpgrade linux-image-5.15.0-1112-awsUpgrade linux-image-6.8.0-100-generic-64kUpgrade linux-image-azure-cvmUpgrade linux-image-fipsUpgrade linux-image-azure-nvidia | Jul 14, 2025 | Jul 9, 2025 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Jul 27, 2026 | Jul 9, 2025 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub