<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
  <id>https://db.gcve.eu/rss/recent/all/10</id>
  <title>Most recent entries from all</title>
  <updated>2026-11-12T14:22:40.253835+00:00</updated>
  <author>
    <name>Vulnerability-Lookup</name>
    <email>info@gcve.eu</email>
  </author>
  <link href="https://db.gcve.eu" rel="alternate"/>
  <generator uri="https://lkiesow.github.io/python-feedgen" version="1.0.0">python-feedgen</generator>
  <subtitle>Contains only the most 10 recent entries.</subtitle>
  <entry>
    <id>https://db.gcve.eu/vuln/cve-2026-99239</id>
    <title>CVE-2026-99239 — Bluetooth: L2CAP: refuse __l2cap_chan_add if chan already has conn</title>
    <updated>2026-11-12T14:22:40.255464+00:00</updated>
    <content type="xhtml">
      <div xmlns="http://www.w3.org/1999/xhtml"><p><strong>Affected:</strong> Linux</p>
<p>In the Linux kernel, the following vulnerability has been resolved:</p>
<p>Bluetooth: L2CAP: refuse __l2cap_chan_add if chan already has conn</p>
<p>l2cap_chan may be linked to l2cap_conn at most once. This is assumed in
several places, eg l2cap_chan_del cleanup.</p>
<p>There is a TOCTOU race where the invariant is violated:</p>
<p>[Task 1]                          [Task 2]
    l2cap_chan_connect                l2cap_sock_bind
      l2cap_chan_lock                   lock_sock
      l2cap_state_change                if (sk-&gt;sk_state != BT_OPEN)
        chan-&gt;state = BT_CONNECT
        l2cap_sock_state_change_cb      chan-&gt;state = BT_BOUND
                                        sk-&gt;sk_state = BT_BOUND
          lock_sock &lt;------------------ release_sock
          sk-&gt;sk_state = BT_CONNECT</p>
<p>l2cap_sock_connect() does not check sk-&gt;sk_state, so since chan-&gt;state
is now BT_BOUND, subsequent connect() ends up with second
__l2cap_chan_add.</p>
<p>Explicitly document and check the invariant in __l2cap_chan_add with
WARN_ON_ONCE. The only callsite where it could be hit is
l2cap_chan_connect, so add pre-check there to avoid relying on
chan-&gt;state. chan-&gt;state read/write is not properly guarded currently so
there can be other TOCTOUC problems.</p>
<p>Add l2cap_lock_chan in l2cap_sock_bind() to guard chan-&gt;state write.</p></div>
    </content>
    <link href="https://db.gcve.eu/vuln/cve-2026-99239"/>
  </entry>
</feed>
