Katalog CVE

CVE-2026-98060

Nieznane
Opublikowano: Przetłumaczono: NVD NIST

Streszczenie

W jądrze Linux funkcja __bpf_rbtree_add() utrzymuje wskaźniki parent i link aktywne podczas wywołań callbacku porównania dostarczonego przez program, więc weryfikator wymaga, aby blokada korzenia była trzymana przez cały callback. Ścieżka pomocnicza egzekwuje tę regułę dla bpf_spin_lock() i bpf_spin_unlock(), ale ścieżka argumentu kfunc resilient lock tego nie robi. Callback może zwolnić blokadę korzenia i pozwolić innemu CPU usunąć i zwolnić węzeł, którego dotyczy trwające przejście drzewa, co prowadzi do użycia zwolnionych wskaźników.

Ocena ryzyka

Lokalny atakujący z uprawnieniami CAP_BPF może wywołać użycie po zwolnieniu pamięci (use-after-free) w jądrze, co może prowadzić do eskalacji uprawnień lub awarii systemu. Ryzyko jest wysokie ze względu na potencjał wykonania kodu.

Rekomendacja

Zaktualizuj jądro Linux do wersji zawierającej poprawkę. Do czasu aktualizacji ogranicz dostęp do BPF (CAP_BPF) tylko do zaufanych użytkowników.

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: Reject resilient lock operations in rbtree callbacks __bpf_rbtree_add() keeps parent and link pointers live across calls to the program-supplied comparison callback. The verifier therefore requires the root's lock to remain held throughout the callback. The helper path enforces this rule for bpf_spin_lock() and bpf_spin_unlock(), but the resilient lock kfunc argument path does not. Since resilient locks may protect BPF rbtree roots, a callback can release the root lock and let another CPU remove and free the node referenced by the in-progress tree walk. The walk then resumes using freed pointers. Reject resilient lock kfuncs in an rbtree comparison callback, matching the existing policy for the spin lock helpers. Resilient-lock-protected trees remain valid when their comparison callbacks leave lock state alone.

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