Katalog CVE

CVE-2026-31406

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

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.16%

Percentyl 6 - wyżej niż 6% wszystkich znanych CVE

Streszczenie

W jądrze Linuxa występuje podatność w funkcji xfrm_nat_keepalive_net_fini(), gdzie po anulowaniu zaplanowanej pracy (cancel_delayed_work_sync()) może dojść do ponownego zaplanowania pracy nat_keepalive_work przez xfrm_state_fini(). Prowadzi to do wyścigu, w którym praca może zostać wykonana na już zwolnionej strukturze sieciowej, co może skutkować użyciem po zwolnieniu (use-after-free).

Ocena ryzyka

Podatność może prowadzić do awarii systemu lub potencjalnie do wykonania dowolnego kodu w kontekście jądra, co stanowi poważne zagrożenie dla stabilności i bezpieczeństwa systemu.

Rekomendacja

Zaleca się natychmiastową aktualizację jądra Linux do wersji zawierającej poprawkę, która zastępuje cancel_delayed_work_sync() przez disable_delayed_work_sync().

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: xfrm: Fix work re-schedule after cancel in xfrm_nat_keepalive_net_fini() After cancel_delayed_work_sync() is called from xfrm_nat_keepalive_net_fini(), xfrm_state_fini() flushes remaining states via __xfrm_state_delete(), which calls xfrm_nat_keepalive_state_updated() to re-schedule nat_keepalive_work. The following is a simple race scenario: cpu0 cpu1 cleanup_net() [Round 1] ops_undo_list() xfrm_net_exit() xfrm_nat_keepalive_net_fini() cancel_delayed_work_sync(nat_keepalive_work); xfrm_state_fini() xfrm_state_flush() xfrm_state_delete(x) __xfrm_state_delete(x) xfrm_nat_keepalive_state_updated(x) schedule_delayed_work(nat_keepalive_work); rcu_barrier(); net_complete_free(); net_passive_dec(net); llist_add(&net->defer_free_list, &defer_free_list); cleanup_net() [Round 2] rcu_barrier(); net_complete_free() kmem_cache_free(net_cachep, net); nat_keepalive_work() // on freed net To prevent this, cancel_delayed_work_sync() is replaced with disable_delayed_work_sync().

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