CVE-2026-23146
EUVD-2026-589114.02.2026, 16:15
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.EnginsightAffected Products (NVD)
| Vendor | Product | Version |
|---|---|---|
| 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:rc1 |
| linux | linux_kernel | 6.19:rc2 |
| linux | linux_kernel | 6.19:rc3 |
| linux | linux_kernel | 6.19:rc4 |
| linux | linux_kernel | 6.19:rc5 |
| linux | linux_kernel | 6.19:rc6 |
| linux | linux_kernel | 6.19:rc7 |
𝑥
= Vulnerable software versions
Debian Releases
Common Weakness Enumeration
Vulnerability Media Exposure
References