CVE-2026-64538

Summary

In the Linux kernel, the following vulnerability has been resolved:

ipv6: Fix null-ptr-deref in fib6_nh_mtu_change().

fib6_nh_mtu_change() re-fetches idev via __in6_dev_get(arg->dev) and dereferences idev->cnf.mtu6 without a NULL check. addrconf_ifdown() clears dev->ip6_ptr with RCU_INIT_POINTER() after rt6_disable_ip() has released tb6_lock, so the RA-driven MTU walk can observe a NULL idev and oops. The caller rt6_mtu_change_route() guards its own __in6_dev_get(), but this re-fetch is unguarded; nexthop-backed routes survive addrconf_ifdown()'s flush, so the walk still reaches it after ip6_ptr is nulled.

Return 0 when idev is NULL, matching rt6_mtu_change_route() and the fib6_mtu() fix in commit 5ad509c1fdad ("ipv6: Fix null-ptr-deref in fib6_mtu().").

Oops: general protection fault, … KASAN: null-ptr-deref in range [0x00000000000002a8-0x00000000000002af] RIP: 0010:fib6_nh_mtu_change+0x203/0x990 rt6_mtu_change_route+0x141/0x1d0 __fib6_clean_all+0xd0/0x160 rt6_mtu_change+0xb4/0x100 ndisc_router_discovery+0x24b5/0x2cb0 icmpv6_rcv+0x12e9/0x1710 ipv6_rcv+0x39b/0x410

Affected Software

VendorProductVersion RangeStatus
LinuxLinuxc0b220cf7d80eb8a36ae9f12cae6df4577a6814e < d08d019f2f43a6f9a71e81868bbc326b3afaf37baffected
LinuxLinuxc0b220cf7d80eb8a36ae9f12cae6df4577a6814e < 1451deca9896957159f0666520a792c1b861af4faffected
LinuxLinuxc0b220cf7d80eb8a36ae9f12cae6df4577a6814e < b2c70dd3326809429b709a9c7e9220d29923051aaffected
LinuxLinuxc0b220cf7d80eb8a36ae9f12cae6df4577a6814e < 302d57ed7872838b40e56a868fb4c7da7da606e9affected
LinuxLinuxc0b220cf7d80eb8a36ae9f12cae6df4577a6814e < 80600b5d0f3ecb9324120dc95b5e915130f516c5affected
LinuxLinuxc0b220cf7d80eb8a36ae9f12cae6df4577a6814e < b0d0eb13a0441a8ebf4f227843deaf494f1e2c33affected
LinuxLinuxc0b220cf7d80eb8a36ae9f12cae6df4577a6814e < 6428634f7a0b7878144b4925c37856bef3224967affected
LinuxLinuxc0b220cf7d80eb8a36ae9f12cae6df4577a6814e < 46c3b8191aad3d032776bf3bebf03efdf5f4b905affected
LinuxLinux5.3affected
LinuxLinux0 < 5.3unaffected
LinuxLinux5.10.261 <= 5.10.*unaffected
LinuxLinux5.15.212 <= 5.15.*unaffected
LinuxLinux6.1.178 <= 6.1.*unaffected
LinuxLinux6.6.145 <= 6.6.*unaffected
LinuxLinux6.12.97 <= 6.12.*unaffected
LinuxLinux6.18.40 <= 6.18.*unaffected
LinuxLinux7.1.5 <= 7.1.*unaffected
LinuxLinux7.2-rc1 <= *unaffected

Weaknesses

References