<?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>Tue, 29 Sep 2026 21:29:27 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-90313 — bpf, cgroup: Fix invalid storage access after __cgroup_bpf_attach failed</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2026-90313</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, cgroup: Fix invalid storage access after __cgroup_bpf_attach failed&lt;/p&gt;
&lt;p&gt;A potential invalid storage access issue can occur after replacing a
cgroup bpf prog.&lt;/p&gt;
&lt;p&gt;This occurs in the following scenario:
1. prog1 with storage is attached to a cgroup in multi-attach mode.
2. prog1 is replaced with prog2 using BPF_F_REPLACE in multi-attach
   mode, but fails midway (e.g. in bpf_trampoline_link_cgroup_shim or
   update_effective_progs).
3. A new prog3 is attached to the cgroup in multi-attach mode.&lt;/p&gt;
&lt;p&gt;The reason is that __cgroup_bpf_attach overwrites pl-&amp;gt;storage with the
new storage prior to attachment completion. When attachment fails
midway, the cleanup path calls bpf_cgroup_storages_free(new_storage) to
free the newly allocated storage, but fails to restore pl-&amp;gt;storage back
to old_storage.&lt;/p&gt;
&lt;p&gt;Consequently, the still-active prog1 holds invalid or dangling storage
pointers, leading to an invalid memory access when prog1 executes and
calls bpf_get_local_storage. Additionally, original pl-&amp;gt;flags and
cgrp-&amp;gt;bpf.flags[atype] are left unrestored.&lt;/p&gt;
&lt;p&gt;Fix this by saving old_pl_flags, old_storage, and old_flags prior to the
update, and properly restoring all of them in the cleanup path on error.&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, cgroup: Fix invalid storage access after __cgroup_bpf_attach failed&lt;/p&gt;
&lt;p&gt;A potential invalid storage access issue can occur after replacing a
cgroup bpf prog.&lt;/p&gt;
&lt;p&gt;This occurs in the following scenario:
1. prog1 with storage is attached to a cgroup in multi-attach mode.
2. prog1 is replaced with prog2 using BPF_F_REPLACE in multi-attach
   mode, but fails midway (e.g. in bpf_trampoline_link_cgroup_shim or
   update_effective_progs).
3. A new prog3 is attached to the cgroup in multi-attach mode.&lt;/p&gt;
&lt;p&gt;The reason is that __cgroup_bpf_attach overwrites pl-&amp;gt;storage with the
new storage prior to attachment completion. When attachment fails
midway, the cleanup path calls bpf_cgroup_storages_free(new_storage) to
free the newly allocated storage, but fails to restore pl-&amp;gt;storage back
to old_storage.&lt;/p&gt;
&lt;p&gt;Consequently, the still-active prog1 holds invalid or dangling storage
pointers, leading to an invalid memory access when prog1 executes and
calls bpf_get_local_storage. Additionally, original pl-&amp;gt;flags and
cgrp-&amp;gt;bpf.flags[atype] are left unrestored.&lt;/p&gt;
&lt;p&gt;Fix this by saving old_pl_flags, old_storage, and old_flags prior to the
update, and properly restoring all of them in the cleanup path on error.&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2026-90313</guid>
    </item>
  </channel>
</rss>
