CVE-2025-68304

CVE-2025-68304

High · published December 16, 2025

CVSS v3.1
8.8
EPSS
0%
Percentile
13.3
In the wild
Unconfirmed
What it is

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)

The record
Technical detail
CVSS v3.1
8.8 · HIGH
Vector
CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00233 · 13.3th percentile
Published
2025-12-16T21:16Z
References (2)
EPSS history
Timeline
  • 16 DEC 15:06Z
    Bluetooth: hci_core: lookup hci_conn on RX path on protocol side
    cvelistv5