CVE Catalog

CVE-2026-90313

Unknown
Published: Translated: NVD NIST

Summary

In the Linux kernel, after a failed cgroup BPF program replacement (BPF_F_REPLACE in multi-attach mode), __cgroup_bpf_attach overwrote pl->storage with new storage but failed to restore the old one on the error path. The still-active prog1 holds dangling storage pointers, causing invalid access in bpf_get_local_storage.

Risk Assessment

An invalid kernel memory access can occur during execution of a cgroup BPF program, potentially leading to privilege escalation or system crash.

Recommendation

Update the Linux kernel to a version that saves old_pl_flags, old_storage, and old_flags and restores them in the cleanup path on error.

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

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.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS