CVE-2026-90313 bpf, cgroup: Fix invalid storage access after __cgroup_bpf_attach failed

Not scored Published Updated

A use-after-free vulnerability in the Linux kernel's cgroup BPF attachment logic allows local attackers with high privileges to execute arbitrary code or escalate privileges.

Exploited in the wild
Not known
Login needed
An administrator
Attackable
Local or same network only
Victim action needed
Not needed
Fix
Available

What is CVE-2026-90313?

CVE-2026-90313 is an use after free vulnerability in Linux, published on 17 Sep 2026. It can only be exploited from the same machine or local network, with no action from the victim.

Official description

In the Linux kernel, the following vulnerability has been resolved:

bpf, cgroup: Fix invalid storage access after __cgroup_bpf_attach failed

A potential invalid storage access issue can occur after replacing a cgroup bpf prog.

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.

The reason is that __cgroup_bpf_attach overwrites pl->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->storage back to old_storage.

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->flags and cgrp->bpf.flags[atype] are left unrestored.

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.

Which versions are affected by CVE-2026-90313?

How do I fix CVE-2026-90313?

Apply the vendor's patch.

Upgrade to the fixed version. These bugs are found with fuzzing and sanitisers and avoided by memory-safe languages. More about Use after free.

Is CVE-2026-90313 being exploited?

There is no known exploitation of CVE-2026-90313 in the wild and no public exploit code.

Sources

Also known as AZL-102483, BELL-CVE-2026-90313, DEBIAN-CVE-2026-90313, GHSA-2mrf-g72x-r6vx, UBUNTU-CVE-2026-90313.

Is CVE-2026-90313 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free