Skip to main content

Linux Kernel EUVDEUVD-2026-45717

| CVE-2026-63944 HIGH
2026-07-19 Linux GHSA-q8jf-94w2-5pjv
8.8
CVSS 3.1 · Vendor: Linux
Share

Severity by source

Vendor (Linux) PRIMARY
8.8 HIGH
AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
vuln.today AI
5.9 MEDIUM

Bluetooth-range attack (AV:A); a timing-dependent free/dereference race makes AC:H; a read-only UAF yields limited leak (C:L) and likely kernel crash (A:H), no integrity impact.

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

Primary rating from Vendor (Linux).

CVSS VectorVendor: Linux

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

Lifecycle Timeline

5
Analysis Generated
Jul 20, 2026 - 16:28 vuln.today
CVSS changed
Jul 20, 2026 - 15:22 NVD
8.8 (HIGH)
Patch available
Jul 19, 2026 - 17:19 EUVD
CVE Published
Jul 19, 2026 - 14:55 cve.org
HIGH 8.8
CVE Published
Jul 19, 2026 - 14:55 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

In the Linux kernel, the following vulnerability has been resolved:

Bluetooth: hci_sync: fix UAF in hci_le_create_cis_sync

hci_le_create_cis_sync() dereferences conn->conn_timeout after releasing both rcu_read_lock() and hci_dev_lock(hdev). The conn pointer was obtained from an RCU-protected iteration over hdev->conn_hash.list and is not valid once these locks are dropped. A concurrent disconnect can free the hci_conn between the unlock and the dereference, causing a use-after-free read.

The cancellation mechanism in hci_conn_del() cannot prevent this because hci_le_create_cis_pending() queues hci_create_cis_sync with data=NULL:

hci_cmd_sync_queue(hdev, hci_create_cis_sync, NULL, NULL);

While hci_conn_del() dequeues with data=conn:

hci_cmd_sync_dequeue(hdev, NULL, conn, NULL);

Since NULL != conn, the lookup in _hci_cmd_sync_lookup_entry() never matches, and the pending work item is not cancelled.

Fix this by saving conn->conn_timeout into a local variable while the locks are still held, so the stale conn pointer is never dereferenced after unlock.

This is the same class of bug as the one fixed by commit 035c25007c9e ("Bluetooth: hci_sync: Fix UAF on le_read_features_complete") which addressed the identical pattern in a different function.

This vulnerability was identified using 0sec.ai, an open-source automated security auditing platform (https://github.com/0sec-labs).

AnalysisAI

Use-after-free in the Linux kernel Bluetooth HCI subsystem (hci_sync) lets a concurrent Bluetooth disconnect free an hci_conn object that hci_le_create_cis_sync() then reads via a stale pointer, producing a use-after-free read during Connected Isochronous Stream (CIS) setup. The affected code path handles LE isochronous channel creation, and the flawed cancellation logic (queuing work with data=NULL while dequeuing with data=conn) means the pending work item is never cancelled, leaving the race exploitable. There is no public exploit identified at time of analysis; EPSS is low (0.20%, 10th percentile) and the issue is not in CISA KEV.

Technical ContextAI

The bug lives in net/bluetooth/hci_sync.c in the kernel's Bluetooth stack, specifically in the LE (Bluetooth Low Energy) isochronous channel path that establishes Connected Isochronous Streams used for LE Audio. hci_le_create_cis_sync() iterates hdev->conn_hash.list under rcu_read_lock() and hci_dev_lock(hdev), but then dereferences conn->conn_timeout after both locks are released; the RCU-protected conn pointer is no longer guaranteed valid once the locks are dropped. The root cause is a classic CWE-416 (Use After Free) driven by a race/lifetime mismatch: the cancellation mechanism in hci_conn_del() fails because hci_le_create_cis_pending() queues hci_create_cis_sync with data=NULL while hci_conn_del() dequeues with data=conn, so _hci_cmd_sync_lookup_entry() never matches (NULL != conn) and the pending work is not cancelled before the hci_conn is freed. The advisory (input CWE marked N/A) notes this is the same pattern fixed by commit 035c25007c9e for le_read_features_complete. CPE data lists only cpe:2.3:a:linux:linux:*, i.e. the mainline/stable Linux kernel.

RemediationAI

Vendor-released patch: update to a fixed stable kernel - specifically 6.6.143, 6.12.93, or 6.18.35 (or later on your branch), which apply the fix that saves conn->conn_timeout into a local variable while the RCU/hci_dev locks are still held. Apply the corresponding stable commit (e.g. a55618c0f4cead9e59c63f5ee030d393fd70d861 and its siblings listed at https://git.kernel.org/stable/) if you maintain a custom kernel, and consult your distribution's kernel security advisory for the packaged build number. As a compensating control until you can reboot into a patched kernel, disable the Bluetooth stack where it is not needed (rmmod/blacklist the bluetooth and related btusb/bluetooth-LE modules, or systemctl disable --now bluetooth and power the adapter off), which fully removes the attack surface at the cost of losing all Bluetooth functionality including LE Audio; where Bluetooth is required, keep devices out of pairing/discoverable mode and restrict which peers can establish LE isochronous connections to shrink the adjacent-attacker window. There is no effective application-layer filter for this radio-local race, so kernel patching is the only complete fix.

Vendor StatusVendor

SUSE

Severity: Important
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

EUVD-2026-45717 vulnerability details – vuln.today

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