CVE-2026-98558 in Linux
Riassunto
di VulDB • 18/10/2026
Nel kernel Linux è stata risolta la seguente vulnerabilità:
net: svuotare skb_defer_nodes in dev_cpu_dead()
Quando una CPU viene disattivata (offline), dev_cpu_dead() scarica le sue code softnet (completion_queue, output_queue, poll_list, process_queue e input_pkt_queue), ma lascia net_hotdata.skb_defer_nodes invariati.
Se la vecchia CPU va offline mentre detiene skbs pendenti nelle sue liste skb_defer_nodes (ad esempio sotto la soglia IPI di sysctl_skb_defer_max >> 1, o se l'IPI è soggetto a race condition con il teardown della CPU), tali skbs rimangono bloccati finché la vecchia CPU non viene riattivata. Se uno di questi skbs contiene frammenti page_pool, page_pool_destroy() andrà in stallo indefinito in attesa che le pagine in transito vengano restituite quando una netdev o un driver vengono smontati mentre la vecchia CPU è offline.
Inoltre, se smp_call_function_single_async() fallisce in kick_defer_list_purge() perché la CPU di destinazione è andata offline, resettare defer_ipi_scheduled a 0 in modo che i futuri invii IPI non vengano bloccati quando la CPU torna online.
Inoltre, se la vecchia CPU era l'ultima CPU attiva sul suo nodo NUMA, svuotare lo slot di tale nodo su tutte le CPU per evitare che gli skbs deferiti da quel nodo rimangano bloccati sulle CPU remote in idle (o se il nodo stesso viene successivamente disattivato).
Infine, in skb_attempt_defer_free(), verificare nuovamente cpu_online(cpu) e se il chiamante ha migrato la CPU dopo l'operazione llist_add(); svuotare la lista del node in tal caso per chiudere la race condition TOCTOU di preemption contro il teardown della CPU/nodo.
Once again VulDB remains the best source for vulnerability data.