Skip to main content

Linux Kernel EUVDEUVD-2026-48949

| CVE-2026-64405 MEDIUM
NULL Pointer Dereference (CWE-476)
2026-07-25 Linux GHSA-xvhg-76qh-24v9
5.5
CVSS 3.1 · NVD
Share

Severity by source

NVD PRIMARY
5.5 MEDIUM
AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
vuln.today AI
4.7 MEDIUM

Race condition between Bluetooth worker threads warrants AC:H; PR:L for local Bluetooth socket access; impact is kernel crash only with no confidentiality or integrity consequence.

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

Primary rating from NVD.

CVSS VectorNVD

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

Lifecycle Timeline

5
Analysis Generated
Sep 04, 2026 - 16:06 vuln.today
CVSS changed
Sep 04, 2026 - 15:37 NVD
5.5 (MEDIUM)
Patch available
Jul 25, 2026 - 11:18 EUVD
CVE Published
Jul 25, 2026 - 08:50 nvd
MEDIUM 5.5
CVE Published
Jul 25, 2026 - 08:50 cve.org
UNKNOWN (no severity yet)

DescriptionNVD

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

Bluetooth: hci_conn: Fix null ptr deref in hci_abort_conn()

hci_abort_conn() read hci_skb_event(hdev->sent_cmd) when a connection was pending, but hdev->sent_cmd can be NULL while req_status is still HCI_REQ_PEND, leading to a NULL pointer dereference and a general protection fault from the hci_rx_work() receive path.

Instead of inspecting hdev->sent_cmd, track the in-flight create connection command with a new per-connection HCI_CONN_CREATE flag and route all cancellation through hci_cancel_connect_sync(), which dispatches to a dedicated per-type cancel function. The create command is in exactly one of two states: still queued, or in flight. The cancel function holds cmd_sync_work_lock across the whole decision: the worker takes this lock to dequeue every entry, so while it is held a queued command cannot start running and an in-flight command cannot complete and let the next command become pending. This keeps the flag test and hci_cmd_sync_cancel() atomic with respect to the worker, so a queued command is simply dequeued, and an in-flight command owned by this connection is cancelled without the risk of cancelling an unrelated command that became pending in the meantime. CIS uses the same flag mechanism via HCI_CONN_CREATE_CIS but cannot be dequeued per-connection.

hci_acl_create_conn_sync() and hci_le_create_conn_sync() clear HCI_CONN_CREATE after the create command completes, but the command status handler can free conn via hci_conn_del() (for example when the controller rejects the connection) while the worker is still blocked on the connection complete event. Hold a reference on conn across the create command so the flag can be cleared without a use-after-free.

AnalysisAI

NULL pointer dereference in the Linux kernel Bluetooth HCI connection handler crashes the kernel when aborting a pending connection while hdev->sent_cmd is NULL but req_status remains HCI_REQ_PEND. Local users with Bluetooth access can trigger a general protection fault from the hci_rx_work() receive path, producing a kernel panic and denying service to all users on the affected system. No public exploit has been identified and EPSS probability stands at 0.21% (12th percentile), indicating very limited real-world exploitation likelihood.

Technical ContextAI

The vulnerability is in the Linux kernel Bluetooth HCI (Host Controller Interface) subsystem, specifically net/bluetooth/hci_conn.c. hci_abort_conn() inspects hci_skb_event(hdev->sent_cmd) to determine whether the in-flight HCI command belongs to the connection being cancelled, but hdev->sent_cmd can be freed and set to NULL in a concurrent path while req_status is still HCI_REQ_PEND, creating a TOCTOU race between the command completion/cleanup path and the abort path. This results in CWE-476 (NULL Pointer Dereference) and a general protection fault. The fix introduces a dedicated per-connection HCI_CONN_CREATE flag (and HCI_CONN_CREATE_CIS for CIS links), protected by cmd_sync_work_lock, so the flag test and hci_cmd_sync_cancel() call are atomic with respect to the worker thread. A secondary use-after-free risk - where the command status handler could free conn via hci_conn_del() while the worker is still blocked - is addressed by holding a reference on the connection structure across the create command. Affected CPE: cpe:2.3:a:linux:linux:*:*:*:*:*:*:*:*.

RemediationAI

Update the Linux kernel to a patched stable release: 6.1.118, 6.6.145, 6.12.97, 6.18.39, or 7.1.4 depending on the distribution's kernel series; development systems should move to 7.2-rc3 or later. Stable fix commits are available at git.kernel.org/stable (references above) and should be included in distribution security updates. For systems where immediate kernel updates are not possible, disabling the Bluetooth subsystem entirely eliminates this code path: unload the modules with rmmod btusb hci_uart bluetooth or add them to the kernel module blacklist in /etc/modprobe.d/. The trade-off is complete loss of Bluetooth connectivity. No other workaround preserves Bluetooth functionality while mitigating the race condition.

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
openSUSE Tumbleweed Fixed
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

Share

EUVD-2026-48949 vulnerability details – vuln.today

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