<?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>Thu, 01 Oct 2026 20:27:48 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-74479 — net: pktgen: fix proc entry use-after-free</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2026-74479</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;net: pktgen: fix proc entry use-after-free&lt;/p&gt;
&lt;p&gt;pktgen_change_name() replaces pkt_dev-&amp;gt;entry while holding t-&amp;gt;if_lock.
pktgen_remove_device() removes the same entry before
_rem_dev_from_if_list() takes that lock.&lt;/p&gt;
&lt;p&gt;This allows the following interleaving:&lt;/p&gt;
&lt;p&gt;CPU 0 (NETDEV_CHANGENAME)       CPU 1 (kpktgend)
  if_lock(t)
  proc_remove(pkt_dev-&amp;gt;entry)
                                  proc_remove(pkt_dev-&amp;gt;entry)
  pkt_dev-&amp;gt;entry = proc_create_data(...)
  if_unlock(t)&lt;/p&gt;
&lt;p&gt;The kthread can pass the stale proc_dir_entry to proc_remove() after the
rename path has freed it. A reproducer with a widened race window reports:&lt;/p&gt;
&lt;p&gt;BUG: KASAN: slab-use-after-free in proc_remove+0x78/0x80
  Read of size 8 at addr ffff8881478fea70 by task kpktgend_0/67
  Call Trace:
   proc_remove+0x78/0x80
   pktgen_remove_device.isra.0+0x11c/0x4c0
   pktgen_thread_worker+0x1214/0x6bc0
   kthread+0x2c6/0x3b0
  Allocated by task 95:
   __proc_create+0x204/0x790
   proc_create_data+0x72/0xe0
   pktgen_thread_write+0xd61/0x1510
  Freed by task 28:
   kmem_cache_free+0xcb/0x3d0
   proc_free_inode+0x5b/0x80
   rcu_core+0x50a/0x1850
  The buggy address belongs to the object at ffff8881478fea00
   which belongs to the cache proc_dir_entry of size 192&lt;/p&gt;
&lt;p&gt;Move proc_remove() into the if_lock-protected list removal helper. Keep it
before list_del_rcu() to preserve the ordering required by add_device().
The rename path must then finish replacing the entry before…&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;net: pktgen: fix proc entry use-after-free&lt;/p&gt;
&lt;p&gt;pktgen_change_name() replaces pkt_dev-&amp;gt;entry while holding t-&amp;gt;if_lock.
pktgen_remove_device() removes the same entry before
_rem_dev_from_if_list() takes that lock.&lt;/p&gt;
&lt;p&gt;This allows the following interleaving:&lt;/p&gt;
&lt;p&gt;CPU 0 (NETDEV_CHANGENAME)       CPU 1 (kpktgend)
  if_lock(t)
  proc_remove(pkt_dev-&amp;gt;entry)
                                  proc_remove(pkt_dev-&amp;gt;entry)
  pkt_dev-&amp;gt;entry = proc_create_data(...)
  if_unlock(t)&lt;/p&gt;
&lt;p&gt;The kthread can pass the stale proc_dir_entry to proc_remove() after the
rename path has freed it. A reproducer with a widened race window reports:&lt;/p&gt;
&lt;p&gt;BUG: KASAN: slab-use-after-free in proc_remove+0x78/0x80
  Read of size 8 at addr ffff8881478fea70 by task kpktgend_0/67
  Call Trace:
   proc_remove+0x78/0x80
   pktgen_remove_device.isra.0+0x11c/0x4c0
   pktgen_thread_worker+0x1214/0x6bc0
   kthread+0x2c6/0x3b0
  Allocated by task 95:
   __proc_create+0x204/0x790
   proc_create_data+0x72/0xe0
   pktgen_thread_write+0xd61/0x1510
  Freed by task 28:
   kmem_cache_free+0xcb/0x3d0
   proc_free_inode+0x5b/0x80
   rcu_core+0x50a/0x1850
  The buggy address belongs to the object at ffff8881478fea00
   which belongs to the cache proc_dir_entry of size 192&lt;/p&gt;
&lt;p&gt;Move proc_remove() into the if_lock-protected list removal helper. Keep it
before list_del_rcu() to preserve the ordering required by add_device().
The rename path must then finish replacing the entry before…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2026-74479</guid>
    </item>
  </channel>
</rss>
