CVEvulnerability

CVE-2026-23146

5.5 MEDIUM Published 2026-02-14 Modified 2026-10-19 Official page ↗
Status
Modified
Published
2026-02-14
Last modified
2026-10-19
Assigner
416baaa9-dc9f-4396-8d5f-8c081fb06d67
CVSS 3.1 ([email protected])
5.5 MEDIUM — CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Weaknesses
CWE-362, CWE-476

Description

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.

Affected configurations

• linux linux kernel (>= 5.4.293 < 5.5) • linux linux kernel (>= 5.10.237 < 5.10.249) • linux linux kernel (>= 5.15.181 < 5.15.199) • linux linux kernel (>= 6.1.135 < 6.1.162) • linux linux kernel (>= 6.6.88 < 6.6.123) • linux linux kernel (>= 6.12.24 < 6.12.69) • linux linux kernel (>= 6.13.12 < 6.14) • linux linux kernel (>= 6.14.3 < 6.18.9) • linux linux kernel 6.19

Related

Weakness · CWE (2)

  • CWE-362 Concurrent Execution using Shared Resource with Improper Synchronization weakness
  • CWE-476 NULL Pointer Dereference weakness

References