Skip to main content

Linux Kernel CVE-2025-68304

HIGH
2025-12-16 416baaa9-dc9f-4396-8d5f-8c081fb06d67
8.8
CVSS 3.1 · Vendor: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Share

Severity by source

Vendor (416baaa9-dc9f-4396-8d5f-8c081fb06d67) PRIMARY
8.8 HIGH
AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
vuln.today AI
7.5 HIGH

Bluetooth proximity gives AV:A; the flaw is a timing-dependent UAF race so AC:H; no auth needed (PR:N); kernel-level UAF plausibly enables full C/I/A impact though DoS is the confirmed effect.

3.1 AV:A/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H
4.0 AV:A/AC:H/AT:P/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
SUSE
5.5 MEDIUM
AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Red Hat
5.5 MEDIUM
qualitative

Primary rating from Vendor (416baaa9-dc9f-4396-8d5f-8c081fb06d67).

CVSS VectorVendor: 416baaa9-dc9f-4396-8d5f-8c081fb06d67

Attack Vector
Adjacent
Attack Complexity
Low
Privileges Required
None
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

2
Analysis Generated
Jul 30, 2026 - 07:11 vuln.today
CVE Published
Dec 16, 2025 - 16:16 cve.org
HIGH 8.8

DescriptionCVE.org

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)

AnalysisAI

Use-after-free in the Linux kernel Bluetooth HCI core (hci_core) lets an attacker within Bluetooth range trigger a race between the ACL data RX path (l2cap_recv_acldata) and connection teardown (hci_abort_conn_sync/hci_conn_del), causing the RX handler to dereference a freed hci_conn structure. A syzkaller-reproduced crash confirms the flaw, which primarily manifests as denial of service though memory corruption cannot be excluded; there is no public exploit identified at time of analysis and it is not listed in CISA KEV. The issue is resolved upstream by moving the hci_conn lookup into the protocol receive handlers under a single RCU/lock-protected critical section.

Technical ContextAI

The affected subsystem is the Linux kernel Bluetooth stack, specifically hci_core.c and the L2CAP receive path. Connections are tracked in hdev->conn_hash, which was converted to RCU in commit bf4c63252490b. The legacy lock/lookup/unlock/use pattern on the packet RX path did not keep a stable reference to hci_conn across its use, so a concurrent deletion path (introduced in part by commit 5af1f84ed13a fixing a UAF on hci_abort_conn_sync) could free the hci_conn while the RX work still held a pointer to it and later read hcon->l2cap_data. This is a classic CWE-416 (Use After Free) rooted in a CWE-362 (concurrent execution / race condition) - the RX work runs on the ordered hdev->workqueue while deletions occur from other tasks outside that queue. No CWE was supplied in the input; these classes are inferred from the described mechanism.

Affected ProductsAI

The Linux kernel Bluetooth subsystem (hci_core / L2CAP ACL receive path) is affected. Exact vulnerable version ranges were not enumerated in the provided data; the flaw exists in kernels that carry the RCU conn_hash conversion (bf4c63252490b) and the deletion paths such as 5af1f84ed13a but lack the fix. The fix is published as two kernel.org stable commits: https://git.kernel.org/stable/c/79a2d4678ba90bdba577dc3af88cc900d6dcd5ee and https://git.kernel.org/stable/c/ec74cdf77310c43b01b83ee898a9bd4b4b0b8e93. No CPE strings were provided, so precise affected/fixed version boundaries should be confirmed against your distribution's kernel changelog.

RemediationAI

Upstream fix available (PR/commit); released patched version not independently confirmed - apply the stable kernel commits 79a2d4678ba90bdba577dc3af88cc900d6dcd5ee and ec74cdf77310c43b01b83ee898a9bd4b4b0b8e93, or the corresponding fixed kernel package from your distribution once released. Track your distro's security advisory for the tagged release that includes these commits, since exact fixed version numbers were not in the input. As a compensating control until patched, disable the Bluetooth stack where it is not needed (rmmod/blacklist the bluetooth and btusb modules, or 'systemctl disable --now bluetooth'), which fully removes the attack surface at the cost of losing Bluetooth functionality; where Bluetooth is required, minimize exposure by keeping the device non-discoverable and unpaired from untrusted peers to reduce the window for an adjacent attacker to drive the RX/teardown race.

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise Desktop 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Affected
SUSE Linux Enterprise High Availability Extension 16.0 Affected

Share

CVE-2025-68304 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy