Katalog CVE

CVE-2026-97971

WysokieCVSS 7.8
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Streszczenie

W jądrze Linux wykryto błąd w mechanizmie listowania przestrzeni nazw (listns), gdzie funkcja legitimize_ns() pobiera referencję do przestrzeni nazw przed sprawdzeniem uprawnień may_list_ns(). W przypadku odmowy dostępu zwolnienie ostatniej referencji do przestrzeni nazw montowania następuje wewnątrz sekcji krytycznej RCU, co może prowadzić do uśpienia w niedozwolonym miejscu i ostrzeżenia jądra.

Ocena ryzyka

Błąd może powodować niestabilność jądra, ostrzeżenia RCU, a w skrajnych przypadkach zawieszenie lub awarię systemu podczas operacji listowania przestrzeni nazw przez nieuprawnionego użytkownika.

Rekomendacja

Zaktualizuj jądro Linux do wersji zawierającej poprawkę, która przenosi sprawdzenia uprawnień przed pobraniem referencji do przestrzeni nazw.

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: nstree: check listing permission before taking a namespace reference legitimize_ns() takes a reference on the candidate namespace before may_list_ns() has decided whether the caller may see it. The __free(ns_put) cleanup on the denied path can drop the last reference to a mount namespace while we still hold the rcu read lock, and put_mnt_ns() may sleep there. This is the same problem commit 2ec2aff3c8e2 ("ns: make sure reference are dropped outside of rcu lock") fixed for the put_user() path. Neither ns_requested() nor may_list_ns() needs a reference, both only look at the namespace type and at the caller's own namespaces, so do the checks first and take the reference last. Splat: Voluntary context switch within RCU read-side critical section! WARNING: kernel/rcu/tree_plugin.h:332 at rcu_note_context_switch+0x238/0x2a0, CPU#5: a/3442 CPU: 5 UID: 1000 PID: 3442 Comm: a Not tainted 7.0.0-30-generic #30-Ubuntu PREEMPT(lazy) RIP: 0010:rcu_note_context_switch+0x238/0x2a0 Call Trace: <TASK> __schedule+0xcf/0x650 schedule+0x27/0x90 schedule_preempt_disabled+0x15/0x30 __mutex_lock.constprop.0+0x550/0xaf0 __mutex_lock_slowpath+0x13/0x20 mutex_lock+0x3b/0x50 exp_funnel_lock+0xb2/0x260 synchronize_rcu_expedited+0xe7/0x220 namespace_unlock+0x26a/0x320 put_mnt_ns+0xd3/0x120 mntns_put+0xe/0x20 do_listns+0x13e/0x560 __do_sys_listns+0x126/0x2d0 __x64_sys_listns+0x20/0x30 x64_sys_call+0x2366/0x2390 do_syscall_64+0x105/0x5a0 entry_SYSCALL_64_after_hwframe+0x76/0x7e </TASK>

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