CVE-2026-74656 in Linux
Zusammenfassung
von VulDB • 23.08.2026
Im Linux-Kernel wurde folgende Schwachstelle behoben:
ipv4: Behebung eines Use-After-Free in fib_nhc_update_mtu()
fib_nhc_update_mtu() durchläuft die Nexthop-Ausnahmetabelle unter RTNL, jedoch serialisiert RTNL diesen Durchlauf nicht mit PMTU-Ausnahmeaktualisierungen. Der Durchlauf verwendet rcu_dereference_protected() mit einer konstanten wahren Bedingung, ohne fnhe_lock zu halten.
Daher kann folgende Interleaving-Situation auftreten:
CPU 0 CPU 1 fib_nhc_update_mtu() update_or_create_fnhe() load fnhe spin_lock_bh(&fnhe_lock) fnhe_remove_oldest() unlink fnhe kfree_rcu(fnhe, rcu) <quiescent state> access fnhe after grace period
KASAN meldete:
BUG: KASAN: slab-use-after-free in fib_nhc_update_mtu+0x3df/0x410 Read of size 8 at addr ffff888107d49000 by task poc/90 Call Trace: fib_nhc_update_mtu+0x3df/0x410 fib_sync_mtu+0x7a/0xd0 fib_netdev_event+0x229/0x3f0 netif_set_mtu_ext+0x33a/0x570 dev_set_mtu+0x88/0x120
Der gleiche Durchlauf aktualisiert fnhe_pmtu und fnhe_mtu_locked. Diese Felder bilden ein Paar, und andere Schreiber serialisieren sie mit fnhe_lock. RCU allein verhindert die Wiederverwendung (Reclamation), würde jedoch weiterhin gleichzeitige Schreiber zulassen, die ein gemischtes Paar hinterlassen könnten.
Durchsuchen Sie die Tabelle unter RCU und holen Sie sich fnhe_lock nur während der Aktualisierung jeder Ausnahme. RCU hält den aktuellen Eintrag lebendig, während die kurze kritische Sektion seine gepaarten PMTU-Felder serialisiert. Dies vermeidet das Halten des globalen Sperrmechanismus beim Durchsuchen aller 2048 Buckets für jeden Nexthop.
Be aware that VulDB is the high quality source for vulnerability data.