Skip to content
Not rated

CVE-2026-23304 ipv6: fix NULL pointer deref in ip6_rt_get_dev_rcu()

Description

In the Linux kernel, the following vulnerability has been resolved: ipv6: fix NULL pointer deref in ip6_rt_get_dev_rcu() l3mdev_master_dev_rcu() can return NULL when the slave device is being un-slaved from a VRF. All other callers deal with this, but we lost the fallback to loopback in ip6_rt_pcpu_alloc() -> ip6_rt_get_dev_rcu() with commit 4832c30d5458 ("net: ipv6: put host and anycast routes on device with address"). KASAN: null-ptr-deref in range [0x0000000000000108-0x000000000000010f] RIP: 0010:ip6_rt_pcpu_alloc (net/ipv6/route.c:1418) Call Trace: ip6_pol_route (net/ipv6/route.c:2318) fib6_rule_lookup (net/ipv6/fib6_rules.c:115) ip6_route_output_flags (net/ipv6/route.c:2607) vrf_process_v6_outbound (drivers/net/vrf.c:437) I was tempted to rework the un-slaving code to clear the flag first and insert synchronize_rcu() before we remove the upper. But looks like the explicit fallback to loopback_dev is an established pattern. And I guess avoiding the synchronize_rcu() is nice, too.

Affected products and versions

Product Affected versions Fixed in
Linux 7.0 earliest → < 7.0 7.0
Linux 6.19 earliest → < 6.19.7 6.19.7
Linux 6.18 earliest → < 6.18.17 6.18.17
Linux 6.12 earliest → < 6.12.77 6.12.77
Linux 6.6 earliest → < 6.6.130 6.6.130
Linux 6.1 earliest → < 6.1.167 6.1.167
Linux 5.15 earliest → < 5.15.203 5.15.203
Linux 5.10 earliest → < 5.10.253 5.10.253
Linux 4.14 No fix stated
Show the 4 other branches
Product Affected versions Fixed in
SIMATIC S7-1500 CPU 1518-4 PN/DP MFP 3.1 3.1.7 → latest No fix stated
SIMATIC S7-1500 CPU 1518F-4 PN/DP MFP 3.1 3.1.7 → latest No fix stated
SIPLUS S7-1500 CPU 1518-4 PN/DP MFP 3.1 3.1.7 → latest No fix stated
SIMATIC S7-1500 TM MFP - GNU/Linux subsystem Versions not published
The 18286 CVEs of Linux →
Track this CVE