<?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://db.gcve.eu</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>Sat, 24 Oct 2026 22:13:53 +0000</lastBuildDate>
    <item>
      <title>fkie_cve-2026-99011</title>
      <link>https://db.gcve.eu/vuln/fkie_cve-2026-99011</link>
      <description>&lt;p&gt;In the Linux kernel, the following vulnerability has been resolved:&lt;/p&gt;
&lt;p&gt;Bluetooth: SCO: serialise sco_conn lifetime against sco_recv_scodata()&lt;/p&gt;
&lt;p&gt;sco_recv_scodata() upgrades the weak hcon-&amp;gt;sco_data back-pointer to a
strong reference under hdev-&amp;gt;lock:&lt;/p&gt;
&lt;p&gt;hci_dev_lock(hdev);
    hcon = hci_conn_hash_lookup_handle(hdev, handle);
    ...
    conn = sco_conn_hold_unless_zero(hcon-&amp;gt;sco_data);
    hci_dev_unlock(hdev);&lt;/p&gt;
&lt;p&gt;but the pointer is cleared from the other side without that lock. When
the last sco_conn reference is dropped, sco_conn_free() ran&lt;/p&gt;
&lt;p&gt;conn-&amp;gt;hcon-&amp;gt;sco_data = NULL;&lt;/p&gt;
&lt;p&gt;with no hdev-&amp;gt;lock held, so the RX path could read hcon-&amp;gt;sco_data and
call kref_get_unless_zero() on an sco_conn that was concurrently freed:&lt;/p&gt;
&lt;p&gt;BUG: KASAN: slab-use-after-free in sco_conn_hold_unless_zero+0xbe/0x160
    Write of size 4 by task kworker/u17:0
    Workqueue: hci0 hci_rx_work
    Call Trace:
     sco_conn_hold_unless_zero+0xbe/0x160
     sco_recv_scodata+0x13f/0x490
     hci_rx_work+0x3af/0x730&lt;/p&gt;
&lt;p&gt;kref_get_unless_zero() only guards against a zero refcount, not against
the backing memory already being freed.&lt;/p&gt;
&lt;p&gt;Give hcon-&amp;gt;sco_data an actual reference on the sco_conn it points to, so
the object cannot be freed while the pointer is still installed, and only
clear and drop it from sco_conn_del(), which runs under hdev-&amp;gt;lock (its
callers, sco_connect_cfm() and sco_disconn_cfm(), hold it). The reader in
sco_recv_scodata() also takes hdev-&amp;gt;lock, so the store and the read are
now serialised: the RX pat…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;In the Linux kernel, the following vulnerability has been resolved:&lt;/p&gt;
&lt;p&gt;Bluetooth: SCO: serialise sco_conn lifetime against sco_recv_scodata()&lt;/p&gt;
&lt;p&gt;sco_recv_scodata() upgrades the weak hcon-&amp;gt;sco_data back-pointer to a
strong reference under hdev-&amp;gt;lock:&lt;/p&gt;
&lt;p&gt;hci_dev_lock(hdev);
    hcon = hci_conn_hash_lookup_handle(hdev, handle);
    ...
    conn = sco_conn_hold_unless_zero(hcon-&amp;gt;sco_data);
    hci_dev_unlock(hdev);&lt;/p&gt;
&lt;p&gt;but the pointer is cleared from the other side without that lock. When
the last sco_conn reference is dropped, sco_conn_free() ran&lt;/p&gt;
&lt;p&gt;conn-&amp;gt;hcon-&amp;gt;sco_data = NULL;&lt;/p&gt;
&lt;p&gt;with no hdev-&amp;gt;lock held, so the RX path could read hcon-&amp;gt;sco_data and
call kref_get_unless_zero() on an sco_conn that was concurrently freed:&lt;/p&gt;
&lt;p&gt;BUG: KASAN: slab-use-after-free in sco_conn_hold_unless_zero+0xbe/0x160
    Write of size 4 by task kworker/u17:0
    Workqueue: hci0 hci_rx_work
    Call Trace:
     sco_conn_hold_unless_zero+0xbe/0x160
     sco_recv_scodata+0x13f/0x490
     hci_rx_work+0x3af/0x730&lt;/p&gt;
&lt;p&gt;kref_get_unless_zero() only guards against a zero refcount, not against
the backing memory already being freed.&lt;/p&gt;
&lt;p&gt;Give hcon-&amp;gt;sco_data an actual reference on the sco_conn it points to, so
the object cannot be freed while the pointer is still installed, and only
clear and drop it from sco_conn_del(), which runs under hdev-&amp;gt;lock (its
callers, sco_connect_cfm() and sco_disconn_cfm(), hold it). The reader in
sco_recv_scodata() also takes hdev-&amp;gt;lock, so the store and the read are
now serialised: the RX pat…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/fkie_cve-2026-99011</guid>
    </item>
    <item>
      <title>GHSA-jp44-3rrh-3mww</title>
      <link>https://db.gcve.eu/vuln/ghsa-jp44-3rrh-3mww</link>
      <description>&lt;p&gt;In the Linux kernel, the following vulnerability has been resolved:&lt;/p&gt;
&lt;p&gt;Bluetooth: SCO: serialise sco_conn lifetime against sco_recv_scodata()&lt;/p&gt;
&lt;p&gt;sco_recv_scodata() upgrades the weak hcon-&amp;gt;sco_data back-pointer to a
strong reference under hdev-&amp;gt;lock:&lt;/p&gt;
&lt;p&gt;hci_dev_lock(hdev);
    hcon = hci_conn_hash_lookup_handle(hdev, handle);
    ...
    conn = sco_conn_hold_unless_zero(hcon-&amp;gt;sco_data);
    hci_dev_unlock(hdev);&lt;/p&gt;
&lt;p&gt;but the pointer is cleared from the other side without that lock. When
the last sco_conn reference is dropped, sco_conn_free() ran&lt;/p&gt;
&lt;p&gt;conn-&amp;gt;hcon-&amp;gt;sco_data = NULL;&lt;/p&gt;
&lt;p&gt;with no hdev-&amp;gt;lock held, so the RX path could read hcon-&amp;gt;sco_data and
call kref_get_unless_zero() on an sco_conn that was concurrently freed:&lt;/p&gt;
&lt;p&gt;BUG: KASAN: slab-use-after-free in sco_conn_hold_unless_zero+0xbe/0x160
    Write of size 4 by task kworker/u17:0
    Workqueue: hci0 hci_rx_work
    Call Trace:
     sco_conn_hold_unless_zero+0xbe/0x160
     sco_recv_scodata+0x13f/0x490
     hci_rx_work+0x3af/0x730&lt;/p&gt;
&lt;p&gt;kref_get_unless_zero() only guards against a zero refcount, not against
the backing memory already being freed.&lt;/p&gt;
&lt;p&gt;Give hcon-&amp;gt;sco_data an actual reference on the sco_conn it points to, so
the object cannot be freed while the pointer is still installed, and only
clear and drop it from sco_conn_del(), which runs under hdev-&amp;gt;lock (its
callers, sco_connect_cfm() and sco_disconn_cfm(), hold it). The reader in
sco_recv_scodata() also takes hdev-&amp;gt;lock, so the store and the read are
now serialised: the RX pat…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;In the Linux kernel, the following vulnerability has been resolved:&lt;/p&gt;
&lt;p&gt;Bluetooth: SCO: serialise sco_conn lifetime against sco_recv_scodata()&lt;/p&gt;
&lt;p&gt;sco_recv_scodata() upgrades the weak hcon-&amp;gt;sco_data back-pointer to a
strong reference under hdev-&amp;gt;lock:&lt;/p&gt;
&lt;p&gt;hci_dev_lock(hdev);
    hcon = hci_conn_hash_lookup_handle(hdev, handle);
    ...
    conn = sco_conn_hold_unless_zero(hcon-&amp;gt;sco_data);
    hci_dev_unlock(hdev);&lt;/p&gt;
&lt;p&gt;but the pointer is cleared from the other side without that lock. When
the last sco_conn reference is dropped, sco_conn_free() ran&lt;/p&gt;
&lt;p&gt;conn-&amp;gt;hcon-&amp;gt;sco_data = NULL;&lt;/p&gt;
&lt;p&gt;with no hdev-&amp;gt;lock held, so the RX path could read hcon-&amp;gt;sco_data and
call kref_get_unless_zero() on an sco_conn that was concurrently freed:&lt;/p&gt;
&lt;p&gt;BUG: KASAN: slab-use-after-free in sco_conn_hold_unless_zero+0xbe/0x160
    Write of size 4 by task kworker/u17:0
    Workqueue: hci0 hci_rx_work
    Call Trace:
     sco_conn_hold_unless_zero+0xbe/0x160
     sco_recv_scodata+0x13f/0x490
     hci_rx_work+0x3af/0x730&lt;/p&gt;
&lt;p&gt;kref_get_unless_zero() only guards against a zero refcount, not against
the backing memory already being freed.&lt;/p&gt;
&lt;p&gt;Give hcon-&amp;gt;sco_data an actual reference on the sco_conn it points to, so
the object cannot be freed while the pointer is still installed, and only
clear and drop it from sco_conn_del(), which runs under hdev-&amp;gt;lock (its
callers, sco_connect_cfm() and sco_disconn_cfm(), hold it). The reader in
sco_recv_scodata() also takes hdev-&amp;gt;lock, so the store and the read are
now serialised: the RX pat…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/ghsa-jp44-3rrh-3mww</guid>
    </item>
  </channel>
</rss>
