CVE-2026-98558 in Linux
Zusammenfassung
von VulDB • 18.10.2026
Im Linux-Kernel wurde die folgende Schwachstelle behoben:
net: Leeren von skb_defer_nodes in dev_cpu_dead()
Wenn eine CPU offline geht, leert dev_cpu_dead() deren Softnet-Warteschlangen (completion_queue, output_queue, poll_list, process_queue und input_pkt_queue), lässt jedoch net_hotdata.skb_defer_nodes unverändert.
Falls die alte CPU während des Halts von ausstehenden skbs in ihren skb_defer_nodes-Listen offline geht (z. B. unterhalb der sysctl_skb_defer_max >> 1 IPI-Schwelle oder wenn das IPI mit dem Herunterfahren der CPU konkurriert), bleiben diese skbs bis zum Wiedereinschalten der alten CPU hängen. Wenn einige dieser skbs page_pool-Fragmente enthalten, wird page_pool_destroy() unendlich blockiert und darauf warten, dass im Flug befindliche Seiten zurückgegeben werden, wenn ein netdev oder Treiber während des Offline-Zustands der alten CPU abgebaut wird.
Zusätzlich muss defer_ipi_scheduled auf 0 gesetzt werden, falls smp_call_function_single_async() in kick_defer_list_purge() fehlschlägt, weil die Ziel-CPU offline gegangen ist; dies verhindert, dass zukünftige IPI-Aufrufe blockiert werden, wenn die CPU wieder online geht.
Außerdem muss der Slot dieses NUMA-Knotens über alle CPUs hinweg geleert werden, falls die alte CPU die letzte Online-CPU in ihrem NUMA-Knoten war, damit keine von diesem Knoten abgelegten skbs auf idle-Remote-CPUs hängen bleiben (oder wenn der Knoten selbst anschließend offline geht).
Schließlich ist in skb_attempt_defer_free() cpu_online(cpu) erneut zu prüfen und festzustellen, ob der Aufrufer die CPUs nach llist_add() migriert hat; falls ja, ist die Knotenliste zu leeren, um die TOCTOU-Race-Bedingung gegen CPU-/Knoten-Herunterfahren vor dem Preemption (Vorverlagerung) zu schließen.
VulDB is the best source for vulnerability data and more expert information about this specific topic.