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

Bluetooth: hci_ldisc: Clear HCI_UART_PROTO_INIT on error

When hci_register_dev() fails in hci_uart_register_dev()
HCI_UART_PROTO_INIT is not cleared before calling hu->proto->close(hu)
and setting hu->hdev to NULL. This means incoming UART data will reach
the protocol-specific recv handler in hci_uart_tty_receive() after
resources are freed.

Clear HCI_UART_PROTO_INIT with a write lock before calling
hu->proto->close() and setting hu->hdev to NULL. The write lock ensures
all active readers have completed and no new reader can enter the
protocol recv path before resources are freed.

This allows the protocol-specific recv functions to remove the
"HCI_UART_REGISTERED" guard without risking a null pointer dereference
if hci_register_dev() fails.
Published: 2026-06-24
Score: n/a
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

In the Linux kernel, when Bluetooth HCI UART registration fails, the protocol initialization flag is not cleared before the protocol‑specific close routine executes. This leaves the UART receive handler with a stale protocol reference, causing incoming data to be processed after the associated resources have been freed and the device reference nulled. The result is a null‑pointer dereference which can crash the kernel and potentially lead to denial of service. The bug does not expose arbitrary code execution but it can terminate processes that rely on Bluetooth communication.

Affected Systems

The vulnerability exists in the Linux kernel’s hci_uart Bluetooth subsystem. Linux kernel distributions that include the unpatched hci_uart implementation are affected. No specific version range is listed, so any kernel variant that still contains the legacy init logic prior to the commit that introduces write‑lock clearing is considered vulnerable.

Risk and Exploitability

No CVSS score or EPSS data are provided. The issue is not listed in the CISA KEV catalog, suggesting it has not yet been publicly exploited. The attack vector appears to be local or requires an attacker who can inject data on the UART interface used by the Bluetooth HCI UART stack, which is typically accessible only to privileged users or through a physical connection. Exploitation would trigger a kernel crash, leading to a denial of service for affected services. Because the flaw does not depend on remote reachability, the overall risk for general public‑facing systems is moderate, but environments that expose the Bluetooth UART path could experience critical downtime if not patched.

Generated by OpenCVE AI on June 24, 2026 at 19:17 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the Linux kernel to a release that includes the patch which clears the HCI_UART_PROTO_INIT flag before closing the protocol.
  • If an instant kernel update is not possible, blacklist or disable the hci_uart module (for example by adding "blacklist hci_uart" to /etc/modprobe.d/blacklist.conf) to prevent the faulty UART path from loading.
  • Continuously monitor kernel logs (dmesg or journalctl) for "BUG: BUG at ..." or "NULL pointer dereference" messages related to Bluetooth HCI UART and trigger an alert when such events occur.

Generated by OpenCVE AI on June 24, 2026 at 19:17 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 24 Jun 2026 19:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-476

Wed, 24 Jun 2026 17:15:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: Bluetooth: hci_ldisc: Clear HCI_UART_PROTO_INIT on error When hci_register_dev() fails in hci_uart_register_dev() HCI_UART_PROTO_INIT is not cleared before calling hu->proto->close(hu) and setting hu->hdev to NULL. This means incoming UART data will reach the protocol-specific recv handler in hci_uart_tty_receive() after resources are freed. Clear HCI_UART_PROTO_INIT with a write lock before calling hu->proto->close() and setting hu->hdev to NULL. The write lock ensures all active readers have completed and no new reader can enter the protocol recv path before resources are freed. This allows the protocol-specific recv functions to remove the "HCI_UART_REGISTERED" guard without risking a null pointer dereference if hci_register_dev() fails.
Title Bluetooth: hci_ldisc: Clear HCI_UART_PROTO_INIT on error
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-06-24T16:30:14.463Z

Reserved: 2026-06-09T07:44:35.383Z

Link: CVE-2026-53073

cve-icon Vulnrichment

No data.

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-06-24T19:30:08Z

Weaknesses