<?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 22:35:28 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-90393 — bpf: Fix potential UAF in bpf_netns_link_update_prog</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2026-90393</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;bpf: Fix potential UAF in bpf_netns_link_update_prog&lt;/p&gt;
&lt;p&gt;In bpf_netns_link_update_prog, the checks for old_prog and prog type
are currently performed locklessly before acquiring netns_bpf_mutex.
This creates a race condition that can lead to a UAF issue.&lt;/p&gt;
&lt;p&gt;If two threads concurrently execute BPF_LINK_UPDATE on the same netns
link, the following execution path can trigger a UAF:&lt;/p&gt;
&lt;p&gt;CPU0                                          CPU1
bpf_netns_link_update_prog
  if (old_prog &amp;amp;&amp;amp; old_prog != link-&amp;gt;prog)
    return -EPERM;
                                              bpf_netns_link_update_prog
                                                if (old_prog &amp;amp;&amp;amp; old_prog != link-&amp;gt;prog)
                                                ...
                                                old_prog = xchg(&amp;amp;link-&amp;gt;prog, new_prog);
                                                bpf_prog_put(old_prog);
  if (new_prog-&amp;gt;type != link-&amp;gt;prog-&amp;gt;type) &amp;lt;-- trigger UAF&lt;/p&gt;
&lt;p&gt;Fix this by moving the old_prog and prog-&amp;gt;type checks inside the
netns_bpf_mutex critical section. Meanwhile, use guard() to simplify
lock management and avoid all the goto jumping.&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;bpf: Fix potential UAF in bpf_netns_link_update_prog&lt;/p&gt;
&lt;p&gt;In bpf_netns_link_update_prog, the checks for old_prog and prog type
are currently performed locklessly before acquiring netns_bpf_mutex.
This creates a race condition that can lead to a UAF issue.&lt;/p&gt;
&lt;p&gt;If two threads concurrently execute BPF_LINK_UPDATE on the same netns
link, the following execution path can trigger a UAF:&lt;/p&gt;
&lt;p&gt;CPU0                                          CPU1
bpf_netns_link_update_prog
  if (old_prog &amp;amp;&amp;amp; old_prog != link-&amp;gt;prog)
    return -EPERM;
                                              bpf_netns_link_update_prog
                                                if (old_prog &amp;amp;&amp;amp; old_prog != link-&amp;gt;prog)
                                                ...
                                                old_prog = xchg(&amp;amp;link-&amp;gt;prog, new_prog);
                                                bpf_prog_put(old_prog);
  if (new_prog-&amp;gt;type != link-&amp;gt;prog-&amp;gt;type) &amp;lt;-- trigger UAF&lt;/p&gt;
&lt;p&gt;Fix this by moving the old_prog and prog-&amp;gt;type checks inside the
netns_bpf_mutex critical section. Meanwhile, use guard() to simplify
lock management and avoid all the goto jumping.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2026-90393</guid>
    </item>
  </channel>
</rss>
