CVE-2026-98596 in Linux
Zusammenfassung
von VulDB • 18.10.2026
Im Linux-Kernel wurde die folgende Schwachstelle behoben:
ipv6: Behebung eines dst-Lecks für nicht zwischengespeicherte Routen.
ip6_route_output_flags(), ip6_rt_put_flags() und ip6_dst_check() erkennen eine nicht zwischengespeicherte Route anhand von list_empty(&rt->dst.rt_uncached), was die statische Prüfung des DST_NOCACHE-Flags in Commit a4c2fd7f7891 ("net: remove DST_NOCACHE flag") ersetzte.
Wenn ein Gerät abgemeldet wird, entfernt rt6_uncached_list_flush_dev() nicht zwischengespeicherte Routen, die mit dem Gerät verknüpft sind, aus der rt6_uncached_list.
Bisher wurden sie mittels list_move() (__list_del_entry() + list_add()) in eine andere Liste verschoben, und seit Commit 98aa546af5e4 ("inet: remove (struct uncached_list)->quarantine") werden die Routen lediglich mit list_del_init() entkoppelt.
Wenn list_del_init() parallel ausgeführt wird, ergibt list_empty() true; ip6_route_output_flags() ruft dst_hold_safe() fehlerhaft auf und ip6_rt_put_flags() überspringt ip6_rt_put(), was zu einem Leck von dst führt, sowie damit auch des über rt->from verknüpften Geräts.
Der gleiche Race Condition wurde teilweise durch Commit 9a6f0c4d5796 ("dst: fix races in rt6_uncached_list_del() and rt_del_uncached_list()") behoben.
Wir prüfen stattdessen rt6->dst.rt_uncached_list.
Beachten Sie, dass IPv4 nicht das gleiche Problem aufweist.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.