CVE-2026-90313bpf, cgroup: Fix invalid storage access after __cgroup_bpf_attach failed
Updated under an hour ago ()
Does this affect you?
It affects Linux. Add what you run to find out whether that includes you.
No exploitation reported and no EPSS estimate yet.
Do this next
Free account, 1 product
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.
- CVSS
- Not yet scored
- Weakness (CWE)
- Not given
- Known exploited
- Not in CISA's KEV catalog
- EPSS (exploitation in the next 30 days)
- Not loaded for this CVE
- Assigned by
- Linux
- NVD analysis
- Received
- Record last updated
- Sep 17, 2026
- First seen by InfoSec Signals
- Oct 9, 2026
Affected products
Linux Linux linux:linux (from the name) | from 7d9c3427894fe70d1347b4820476bf37736d2ff0 before e26db0d636e4c24a6b16683ea95cf5077c64d74b; from 7d9c3427894fe70d1347b4820476bf37736d2ff0 before aaca16e042527f7efe48b50799bc662f1a191ce1; from 7d9c3427894fe70d1347b4820476bf37736d2ff0 before 86ead176301109b78e1d14c0e9d0d9ff9723c769; 7d9c3427894fe70d1347b4820476bf37736d2ff0 builds before 2c2218560b6e28a63ff7834ba26d09ff8efdee39; from 7d9c3427894fe70d1347b4820476bf37736d2ff0 before 6655c409707ec8ce9ce0850ffe4fe02331fd4d9c | CNA record |
References
- https://git.kernel.org/stable/c/e26db0d636e4c24a6b16683ea95cf5077c64d74b
- https://git.kernel.org/stable/c/aaca16e042527f7efe48b50799bc662f1a191ce1
- https://git.kernel.org/stable/c/86ead176301109b78e1d14c0e9d0d9ff9723c769
- https://git.kernel.org/stable/c/2c2218560b6e28a63ff7834ba26d09ff8efdee39
- https://git.kernel.org/stable/c/6655c409707ec8ce9ce0850ffe4fe02331fd4d9c
The CVE record on cve.org NVD's entry
The CVE record is authoritative. Products marked “from the name” were identified from the CNA's free-text names, not a CPE, and are matched less certainly. This product uses the NVD API but is not endorsed or certified by the NVD.