In the Linux kernel, the following vulnerability has been resolved:
Bluetooth: hci_core: lookup hci_conn on RX path on protocol side
The hdev lock/lookup/unlock/use pattern in the packet RX path doesn't ensure hci_conn* is not concurrently modified/deleted. This locking appears to be leftover from before conn_hash started using RCU commit bf4c63252490b ("Bluetooth: convert conn hash to RCU") and not clear if it had purpose since then.
Currently, there are code paths that delete hci_conn* from elsewhere than the ordered hdev->workqueue where the RX work runs in. E.g. commit 5af1f84ed13a ("Bluetooth: hci_sync: Fix UAF on hci_abort_conn_sync") introduced some of these, and there probably were a few others before it. It's better to do the locking so that even if these run concurrently no UAF is possible.
Move the lookup of hci_conn and associated socket-specific conn to protocol recv handlers, and do them within a single critical section to cover hci_conn* usage and lookup.
syzkaller has reported a crash that appears to be this issue:
[Task hdev->workqueue] [Task 2] hci_disconnect_all_sync l2cap_recv_acldata(hcon) hci_conn_get(hcon) hci_abort_conn_sync(hcon) hci_dev_lock hci_dev_lock hci_conn_del(hcon) v-------------------------------- hci_dev_unlock hci_conn_put(hcon) conn = hcon->l2cap_data (UAF)
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Redhat_linux | — | No solution exists | Jul 17, 2026 | Dec 16, 2025 |
| Ubuntu | — | Upgrade linux-image-realtime-6.17Upgrade linux-image-gcp-64k-6.17Upgrade linux-image-nvidia-tegra-6.8Upgrade linux-image-gcp-6.17Upgrade linux-image-generic-64k-6.17Upgrade linux-image-awsUpgrade linux-image-oem-24.04cUpgrade linux-image-realtimeUpgrade linux-image-nvidia-tegra-rtUpgrade linux-image-generic-64k-hwe-24.04Upgrade linux-image-nvidia-tegra-rt-6.8Upgrade linux-image-gcp-64kUpgrade linux-image-oem-24.04Upgrade linux-image-6.17.0-1009-gcpUpgrade linux-image-oracle-64k-6.17Upgrade linux-image-aws-64k-6.17Upgrade linux-image-virtual-6.17Upgrade linux-image-oem-6.17Upgrade linux-image-6.17.0-1010-raspiUpgrade linux-image-6.17.0-1009-oracle-64kUpgrade linux-image-aws-6.17Upgrade linux-image-virtualUpgrade linux-image-6.17.0-1009-aws-64kUpgrade linux-image-6.17.0-1009-gcp-64kUpgrade linux-image-6.8.0-1035-nvidia-tegra-rtUpgrade linux-image-aws-64kUpgrade linux-image-6.17.0-1010-azureUpgrade linux-image-oracleUpgrade linux-image-6.17.0-1009-awsUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-6.8.0-1035-nvidia-tegraUpgrade linux-image-6.17.0-1017-oemUpgrade linux-image-raspiUpgrade linux-image-oem-24.04aUpgrade linux-image-generic-64kUpgrade linux-image-realtime-hwe-24.04Upgrade linux-image-azure-6.17Upgrade linux-image-oracle-64kUpgrade linux-image-genericUpgrade linux-image-oracle-6.17Upgrade linux-image-raspi-6.17Upgrade linux-image-virtual-hwe-24.04Upgrade linux-image-6.17.0-19-genericUpgrade linux-image-gcpUpgrade linux-image-6.17.0-1009-oracleUpgrade linux-image-azureUpgrade linux-image-nvidia-tegraUpgrade linux-image-6.17.0-1008-realtimeUpgrade linux-image-generic-6.17Upgrade linux-image-6.17.0-19-generic-64kUpgrade linux-image-oem-24.04dUpgrade linux-image-oem-24.04b | Mar 17, 2026 | Dec 16, 2025 |
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