<?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>Fri, 02 Oct 2026 01:49:10 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-74513 — dibs: fix use-after-free of dmb_node in loopback attach/detach/unregister</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2026-74513</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;dibs: fix use-after-free of dmb_node in loopback attach/detach/unregister&lt;/p&gt;
&lt;p&gt;dibs_lo_attach_dmb(), dibs_lo_detach_dmb() and dibs_lo_unregister_dmb()
look up the dmb_node under dmb_ht_lock, drop the lock and only then
operate on the node&amp;#39;s refcount. Nothing keeps the node alive across
that window: __dibs_lo_unregister_dmb() removes the node from the hash
table under the write lock and immediately frees it.&lt;/p&gt;
&lt;p&gt;A concurrent final put can therefore free the node between the lookup
and the refcount operation:&lt;/p&gt;
&lt;p&gt;CPU0 (attach)                     CPU1 (owner unregisters)&lt;/p&gt;
&lt;p&gt;read_lock_bh(&amp;amp;dmb_ht_lock)
find dmb_node (refcnt == 1)
read_unlock_bh(&amp;amp;dmb_ht_lock)
                                  refcount_dec_and_test() 1 -&amp;gt; 0
                                  write_lock_bh(&amp;amp;dmb_ht_lock)
                                  hash_del(&amp;amp;dmb_node-&amp;gt;list)
                                  write_unlock_bh(&amp;amp;dmb_ht_lock)
                                  kfree(dmb_node)
refcount_inc_not_zero(&amp;amp;dmb_node-&amp;gt;refcnt)  &amp;lt;-- use-after-free&lt;/p&gt;
&lt;p&gt;The same window exists for the refcount_dec_and_test() calls in the
detach and unregister paths.&lt;/p&gt;
&lt;p&gt;Close the race structurally by making hash table membership and the
refcount transitions atomic with respect to each other:&lt;/p&gt;
&lt;p&gt;- Perform the final refcount_dec_and_test() and hash_del() in a single
  dmb_ht_lock write-side critical section, in both the unregister and
  the detach path. Freeing the node still happens af…&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;dibs: fix use-after-free of dmb_node in loopback attach/detach/unregister&lt;/p&gt;
&lt;p&gt;dibs_lo_attach_dmb(), dibs_lo_detach_dmb() and dibs_lo_unregister_dmb()
look up the dmb_node under dmb_ht_lock, drop the lock and only then
operate on the node&amp;#39;s refcount. Nothing keeps the node alive across
that window: __dibs_lo_unregister_dmb() removes the node from the hash
table under the write lock and immediately frees it.&lt;/p&gt;
&lt;p&gt;A concurrent final put can therefore free the node between the lookup
and the refcount operation:&lt;/p&gt;
&lt;p&gt;CPU0 (attach)                     CPU1 (owner unregisters)&lt;/p&gt;
&lt;p&gt;read_lock_bh(&amp;amp;dmb_ht_lock)
find dmb_node (refcnt == 1)
read_unlock_bh(&amp;amp;dmb_ht_lock)
                                  refcount_dec_and_test() 1 -&amp;gt; 0
                                  write_lock_bh(&amp;amp;dmb_ht_lock)
                                  hash_del(&amp;amp;dmb_node-&amp;gt;list)
                                  write_unlock_bh(&amp;amp;dmb_ht_lock)
                                  kfree(dmb_node)
refcount_inc_not_zero(&amp;amp;dmb_node-&amp;gt;refcnt)  &amp;lt;-- use-after-free&lt;/p&gt;
&lt;p&gt;The same window exists for the refcount_dec_and_test() calls in the
detach and unregister paths.&lt;/p&gt;
&lt;p&gt;Close the race structurally by making hash table membership and the
refcount transitions atomic with respect to each other:&lt;/p&gt;
&lt;p&gt;- Perform the final refcount_dec_and_test() and hash_del() in a single
  dmb_ht_lock write-side critical section, in both the unregister and
  the detach path. Freeing the node still happens af…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2026-74513</guid>
    </item>
  </channel>
</rss>
