CVE-2026-23146: Bluetooth: hci_uart: fix null-ptr-deref in hci_uart_write_work
In the Linux kernel, the following vulnerability has been resolved:
Bluetooth: hci_uart: fix null-ptr-deref in hci_uart_write_work
hci_uart_set_proto() sets HCI_UART_PROTO_INIT before calling
hci_uart_register_dev(), which calls proto->open() to initialize
hu->priv. However, if a TTY write wakeup occurs during this window,
hci_uart_tx_wakeup() may schedule write_work before hu->priv is
initialized, leading to a NULL pointer dereference in
hci_uart_write_work() when proto->dequeue() accesses hu->priv.
The race condition is:
CPU0 CPU1
---- ----
hci_uart_set_proto()
set_bit(HCI_UART_PROTO_INIT)
hci_uart_register_dev()
tty write wakeup
hci_uart_tty_wakeup()
hci_uart_tx_wakeup()
schedule_work(&hu->write_work)
proto->open(hu)
// initializes hu->priv
hci_uart_write_work()
hci_uart_dequeue()
proto->dequeue(hu)
// accesses hu->priv (NULL!)
Fix this by moving set_bit(HCI_UART_PROTO_INIT) after proto->open()
succeeds, ensuring hu->priv is initialized before any work can be
scheduled.
Security readout for executives and security teams
Plain-English summary
This is a Linux kernel Bluetooth flaw that can crash kernel code when a Bluetooth UART setup race occurs. The public source describes a NULL pointer dereference, not data theft or remote code execution. Business urgency depends on whether affected Linux kernels use Bluetooth HCI UART paths.
Executive priority
Treat as a targeted kernel stability risk. Prioritize patching Bluetooth-capable Linux fleets, embedded devices, and systems where local crashes affect availability. Escalate if a vendor rates your platform higher or reports exploitation.
Technical view
In hci_uart_set_proto(), HCI_UART_PROTO_INIT was set before proto->open() initialized hu->priv. A TTY write wakeup could schedule hci_uart_write_work() early, causing proto->dequeue() to dereference NULL hu->priv. The fix moves the init bit until after proto->open() succeeds.
Likely exposure
Likely exposure is Linux systems running affected kernel builds with Bluetooth HCI UART support or UART-attached Bluetooth controllers. The bundle provides Linux version entries and stable commit references, but no CPEs or distribution package mapping.
Exploitation context
The bundle does not cite active exploitation, and KEV is false. The described issue is a timing race around TTY write wakeup during Bluetooth UART protocol initialization, with expected impact most consistent with kernel crash or denial of service.
Researcher notes
The evidence is limited to the CVE description and kernel stable references. No CVSS, CWE, exploit status, or distribution-specific advisory is included. Avoid broad claims beyond Bluetooth HCI UART race-triggered NULL pointer dereference.
Mitigation direction
Apply vendor kernel updates containing the referenced stable fixes.
Prioritize systems using Bluetooth HCI UART or embedded Bluetooth controllers.
If Bluetooth UART is unnecessary, disable it according to vendor guidance.
Track distribution advisories for package-specific fixed kernel versions.
Do not assume upstream version numbers equal distribution patch status.
Validation and detection
Inventory Linux kernel versions and distribution kernel package revisions.
Check whether Bluetooth HCI UART support is enabled or loaded.
Compare installed kernels against vendor advisories and referenced stable commits.
Review crash logs for NULL pointer dereference near hci_uart_write_work.
Confirm patched builds include the initialization-order fix.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2026-23146 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
0CVSS vectors
3Timeline events
0ADP providers
8Source links
Vulnerability timeline
Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.
CVE reservedCVE Program
The CVE ID was reserved by the assigning CNA.
CVE publishedCVE Program
The CVE record was published.
Feb 14, 2026, 16:01 UTC (UTC+00:00)
CVE updatedCVE Program
The CVE record metadata indicates this as the latest update time.