<?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>Wed, 30 Sep 2026 06:29:23 +0000</lastBuildDate>
    <item>
      <title>CVE-2025-40064 — smc: Fix use-after-free in __pnet_find_base_ndev().</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2025-40064</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;smc: Fix use-after-free in __pnet_find_base_ndev().&lt;/p&gt;
&lt;p&gt;syzbot reported use-after-free of net_device in __pnet_find_base_ndev(),
which was called during connect(). [0]&lt;/p&gt;
&lt;p&gt;smc_pnet_find_ism_resource() fetches sk_dst_get(sk)-&amp;gt;dev and passes
down to pnet_find_base_ndev(), where RTNL is held.  Then, UAF happened
at __pnet_find_base_ndev() when the dev is first used.&lt;/p&gt;
&lt;p&gt;This means dev had already been freed before acquiring RTNL in
pnet_find_base_ndev().&lt;/p&gt;
&lt;p&gt;While dev is going away, dst-&amp;gt;dev could be swapped with blackhole_netdev,
and the dev&amp;#39;s refcnt by dst will be released.&lt;/p&gt;
&lt;p&gt;We must hold dev&amp;#39;s refcnt before calling smc_pnet_find_ism_resource().&lt;/p&gt;
&lt;p&gt;Also, smc_pnet_find_roce_resource() has the same problem.&lt;/p&gt;
&lt;p&gt;Let&amp;#39;s use __sk_dst_get() and dst_dev_rcu() in the two functions.&lt;/p&gt;
&lt;p&gt;[0]:
BUG: KASAN: use-after-free in __pnet_find_base_ndev+0x1b1/0x1c0 net/smc/smc_pnet.c:926
Read of size 1 at addr ffff888036bac33a by task syz.0.3632/18609&lt;/p&gt;
&lt;p&gt;CPU: 1 UID: 0 PID: 18609 Comm: syz.0.3632 Not tainted syzkaller #0 PREEMPT(full)
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/18/2025
Call Trace:
 &amp;lt;TASK&amp;gt;
 dump_stack_lvl+0x189/0x250 lib/dump_stack.c:120
 print_address_description mm/kasan/report.c:378 [inline]
 print_report+0xca/0x240 mm/kasan/report.c:482
 kasan_report+0x118/0x150 mm/kasan/report.c:595
 __pnet_find_base_ndev+0x1b1/0x1c0 net/smc/smc_pnet.c:926
 pnet_find_base_ndev net/smc/smc_pnet.c:946 [inline]
 s…&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;smc: Fix use-after-free in __pnet_find_base_ndev().&lt;/p&gt;
&lt;p&gt;syzbot reported use-after-free of net_device in __pnet_find_base_ndev(),
which was called during connect(). [0]&lt;/p&gt;
&lt;p&gt;smc_pnet_find_ism_resource() fetches sk_dst_get(sk)-&amp;gt;dev and passes
down to pnet_find_base_ndev(), where RTNL is held.  Then, UAF happened
at __pnet_find_base_ndev() when the dev is first used.&lt;/p&gt;
&lt;p&gt;This means dev had already been freed before acquiring RTNL in
pnet_find_base_ndev().&lt;/p&gt;
&lt;p&gt;While dev is going away, dst-&amp;gt;dev could be swapped with blackhole_netdev,
and the dev&amp;#39;s refcnt by dst will be released.&lt;/p&gt;
&lt;p&gt;We must hold dev&amp;#39;s refcnt before calling smc_pnet_find_ism_resource().&lt;/p&gt;
&lt;p&gt;Also, smc_pnet_find_roce_resource() has the same problem.&lt;/p&gt;
&lt;p&gt;Let&amp;#39;s use __sk_dst_get() and dst_dev_rcu() in the two functions.&lt;/p&gt;
&lt;p&gt;[0]:
BUG: KASAN: use-after-free in __pnet_find_base_ndev+0x1b1/0x1c0 net/smc/smc_pnet.c:926
Read of size 1 at addr ffff888036bac33a by task syz.0.3632/18609&lt;/p&gt;
&lt;p&gt;CPU: 1 UID: 0 PID: 18609 Comm: syz.0.3632 Not tainted syzkaller #0 PREEMPT(full)
Hardware name: Google Google Compute Engine/Google Compute Engine, BIOS Google 08/18/2025
Call Trace:
 &amp;lt;TASK&amp;gt;
 dump_stack_lvl+0x189/0x250 lib/dump_stack.c:120
 print_address_description mm/kasan/report.c:378 [inline]
 print_report+0xca/0x240 mm/kasan/report.c:482
 kasan_report+0x118/0x150 mm/kasan/report.c:595
 __pnet_find_base_ndev+0x1b1/0x1c0 net/smc/smc_pnet.c:926
 pnet_find_base_ndev net/smc/smc_pnet.c:946 [inline]
 s…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2025-40064</guid>
    </item>
  </channel>
</rss>
