Linuxカーネルにおいて、以下の脆弱性が修正されました。ipv6: ip6_rt_get_dev_rcu()内のNULLポインタ参照の修正です。l3mdev_master_dev_rcu()は、スレーブデバイスがVRFから解除されているときにNULLを返すことがあります。他の呼び出し元はこれに対応していますが、コミット4832c30d5458("net: ipv6: put host and anycast routes on device with address")でip6_rt_pcpu_alloc()からip6_rt_get_dev_rcu()へのループバックへのフォールバックが失われました。KASANにより範囲[0x0000000000000108-0x000000000000010f]でnullポインタ参照が発生しました。RIPは0010:ip6_rt_pcpu_alloc (net/ipv6/route.c:1418)です。呼び出しトレースは、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)の順です。私はスレーブ解除処理を見直し、フラグを先にクリアしupperを削除する前にsynchronize_rcu()を挿入しようと考えました。しかし、ループバックデバイスへの明示的なフォールバックは確立されたパターンのようです。また、synchronize_rcu()の使用を回避するのが望ましいと考えています。