lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [day] [month] [year] [list]
Message-ID: <2026021411-CVE-2026-23146-3658@gregkh>
Date: Sat, 14 Feb 2026 17:04:12 +0100
From: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
To: linux-cve-announce@...r.kernel.org
Cc: Greg Kroah-Hartman <gregkh@...nel.org>
Subject: CVE-2026-23146: Bluetooth: hci_uart: fix null-ptr-deref in hci_uart_write_work

From: Greg Kroah-Hartman <gregkh@...nel.org>

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.

The Linux kernel CVE team has assigned CVE-2026-23146 to this issue.


Affected and fixed versions
===========================

	Issue introduced in 5.10.237 with commit a40f94f7caa8d3421b64f63ac31bc0f24c890f39 and fixed in 5.10.249 with commit b0a900939e7e4866d9b90e9112514b72c451e873
	Issue introduced in 5.15.181 with commit 9e5a0f5777162e503400c70c6ed25fbbe2d38799 and fixed in 5.15.199 with commit ccc683f597ceb28deb966427ae948e5ac739a909
	Issue introduced in 6.1.135 with commit 80f14e9de6a43a0bd8194cad1003a3e6dcbc3984 and fixed in 6.1.162 with commit 937a573423ce5a96fdb1fd425dc6b8d8d4ab5779
	Issue introduced in 6.6.88 with commit 02e1bcdfdf769974e7e9fa285e295cd9852e2a38 and fixed in 6.6.123 with commit 186d147cf7689ba1f9b3ddb753ab634a84940cc9
	Issue introduced in 6.12.24 with commit 281782d2c6730241e300d630bb9f200d831ede71 and fixed in 6.12.69 with commit 53e54cb31e667fca05b1808b990eac0807d1dab0
	Issue introduced in 6.15 with commit 5df5dafc171b90d0b8d51547a82657cd5a1986c7 and fixed in 6.18.9 with commit 03e8c90c62233382042b7bd0fa8b8900552fdb62
	Issue introduced in 6.15 with commit 5df5dafc171b90d0b8d51547a82657cd5a1986c7 and fixed in 6.19 with commit 0c3cd7a0b862c37acbee6d9502107146cc944398
	Issue introduced in 5.4.293 with commit 1dcf08fcff5ca529de6dc0395091f28854f4e54a
	Issue introduced in 6.13.12 with commit 8e5aff600539e5faea294d9612cca50220e602b8
	Issue introduced in 6.14.3 with commit db7509fa110dd9b11134b75894677f30353b2c51

Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.

Unaffected versions might change over time as fixes are backported to
older supported kernel versions.  The official CVE entry at
	https://cve.org/CVERecord/?id=CVE-2026-23146
will be updated if fixes are backported, please check that for the most
up to date information about this issue.


Affected files
==============

The file(s) affected by this issue are:
	drivers/bluetooth/hci_ldisc.c


Mitigation
==========

The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes.  Individual
changes are never tested alone, but rather are part of a larger kernel
release.  Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all.  If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
	https://git.kernel.org/stable/c/b0a900939e7e4866d9b90e9112514b72c451e873
	https://git.kernel.org/stable/c/ccc683f597ceb28deb966427ae948e5ac739a909
	https://git.kernel.org/stable/c/937a573423ce5a96fdb1fd425dc6b8d8d4ab5779
	https://git.kernel.org/stable/c/186d147cf7689ba1f9b3ddb753ab634a84940cc9
	https://git.kernel.org/stable/c/53e54cb31e667fca05b1808b990eac0807d1dab0
	https://git.kernel.org/stable/c/03e8c90c62233382042b7bd0fa8b8900552fdb62
	https://git.kernel.org/stable/c/0c3cd7a0b862c37acbee6d9502107146cc944398

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ