Katalog CVE

CVE-2026-90313

Nieznane
Opublikowano: Przetłumaczono: NVD NIST

Streszczenie

W jądrze Linux po nieudanej podmianie programu BPF cgroup (BPF_F_REPLACE w trybie multi-attach) funkcja __cgroup_bpf_attach nadpisała pl->storage nowym buforem, ale w ścieżce błędu nie przywróciła starego. Aktywny prog1 zachowuje wiszące wskaźniki do pamięci, co prowadzi do nieprawidłowego dostępu przy bpf_get_local_storage.

Ocena ryzyka

Może wystąpić nieprawidłowy dostęp do pamięci jądra podczas wykonywania programu BPF cgroup, co grozi eskalacją uprawnień lub awarią systemu.

Rekomendacja

Zaktualizuj jądro Linux do wersji, która zapisuje old_pl_flags, old_storage i old_flags i przywraca je w ścieżce czyszczenia po błędzie.

Inne podatności w Linux kernel

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

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.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS