<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://vulnerability.circl.lu</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Mon, 05 Oct 2026 23:36:36 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-23146 — Bluetooth: hci_uart: fix null-ptr-deref in hci_uart_write_work</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2026-23146</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Linux&lt;/p&gt;
&lt;p&gt;In the Linux kernel, the following vulnerability has been resolved:&lt;/p&gt;
&lt;p&gt;Bluetooth: hci_uart: fix null-ptr-deref in hci_uart_write_work&lt;/p&gt;
&lt;p&gt;hci_uart_set_proto() sets HCI_UART_PROTO_INIT before calling
hci_uart_register_dev(), which calls proto-&amp;gt;open() to initialize
hu-&amp;gt;priv. However, if a TTY write wakeup occurs during this window,
hci_uart_tx_wakeup() may schedule write_work before hu-&amp;gt;priv is
initialized, leading to a NULL pointer dereference in
hci_uart_write_work() when proto-&amp;gt;dequeue() accesses hu-&amp;gt;priv.&lt;/p&gt;
&lt;p&gt;The race condition is:&lt;/p&gt;
&lt;p&gt;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(&amp;amp;hu-&amp;gt;write_work)
      proto-&amp;gt;open(hu)
        // initializes hu-&amp;gt;priv
                                    hci_uart_write_work()
                                      hci_uart_dequeue()
                                        proto-&amp;gt;dequeue(hu)
                                          // accesses hu-&amp;gt;priv (NULL!)&lt;/p&gt;
&lt;p&gt;Fix this by moving set_bit(HCI_UART_PROTO_INIT) after proto-&amp;gt;open()
succeeds, ensuring hu-&amp;gt;priv is initialized before any work can be
scheduled.&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Linux&lt;/p&gt;
&lt;p&gt;In the Linux kernel, the following vulnerability has been resolved:&lt;/p&gt;
&lt;p&gt;Bluetooth: hci_uart: fix null-ptr-deref in hci_uart_write_work&lt;/p&gt;
&lt;p&gt;hci_uart_set_proto() sets HCI_UART_PROTO_INIT before calling
hci_uart_register_dev(), which calls proto-&amp;gt;open() to initialize
hu-&amp;gt;priv. However, if a TTY write wakeup occurs during this window,
hci_uart_tx_wakeup() may schedule write_work before hu-&amp;gt;priv is
initialized, leading to a NULL pointer dereference in
hci_uart_write_work() when proto-&amp;gt;dequeue() accesses hu-&amp;gt;priv.&lt;/p&gt;
&lt;p&gt;The race condition is:&lt;/p&gt;
&lt;p&gt;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(&amp;amp;hu-&amp;gt;write_work)
      proto-&amp;gt;open(hu)
        // initializes hu-&amp;gt;priv
                                    hci_uart_write_work()
                                      hci_uart_dequeue()
                                        proto-&amp;gt;dequeue(hu)
                                          // accesses hu-&amp;gt;priv (NULL!)&lt;/p&gt;
&lt;p&gt;Fix this by moving set_bit(HCI_UART_PROTO_INIT) after proto-&amp;gt;open()
succeeds, ensuring hu-&amp;gt;priv is initialized before any work can be
scheduled.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2026-23146</guid>
    </item>
  </channel>
</rss>
