CVE-2026-64423 in Linux
要約
〜によって VulDB • 2026年07月25日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
ipv4: igmp: デバイス破棄時にハッシュテーブルからマルチキャストグループを削除する
RTNLの下でデバイスが破棄される際、ip_mc_destroy_dev()はマルチキャストリストを反復処理し、各メンバーシップに対してip_ma_put()を呼び出してRCU再利用のためにスケジュールします。しかし、それらはデバイスのマルチキャストハッシュテーブル(mc_hash)からアンリンクされません。
デバイスはそのrefcountがデクリメントされた後も、ip_mc_destroy_dev()の完了までdev->ip_ptrで公開されたままになるため、mc_hashを走査する並行RCUリーダーはグループへのアクセス後にその参照カウントが減少したマルチキャストグループを検出してアクセスし続けることができます。もしRCUコールバックが実行されてグループが解放される際にリーダーがそれにアクセスしている場合、use-after-freeが発生します。
これを修正するために、再利用のためにスケジュールする前にip_mc_hash_remove()を使用してmc_hashからマルチキャストグループをアンリンクします。
BUG: KASAN: slab-use-after-free in ip_check_mc_rcu+0x149/0x3f0 addr ffff888009bf1408 でサイズ 4 の読み取り、タスク mausezahn/2276 によって実行
Call Trace: <IRQ> dump_stack_lvl+0x67/0x90 print_report+0x175/0x7c0 kasan_report+0x147/0x180 ip_check_mc_rcu+0x149/0x3f0 udp_v4_early_demux+0x36d/0x12d0 ip_rcv_finish_core+0xb8b/0x1390 ip_rcv_finish+0x54/0x120 NF_HOOK+0x213/0x2b0 __netif_receive_skb+0x126/0x340 process_backlog+0x4f2/0xf00 __napi_poll+0x92/0x2c0 net_rx_action+0x583/0xc60 handle_softirqs+0x236/0x7f0 do_softirq+0x57/0x80 </IRQ>
タスク 2239 によって割り当て: kasan_save_track+0x3e/0x80 __kasan_kmalloc+0x72/0x90 ____ip_mc_inc_group+0x31a/0xa40 __ip_mc_join_group+0x334/0x3f0 do_ip_setsockopt+0x16fa/0x2010 ip_setsockopt+0x3f/0x90 do_sock_setsockopt+0x1ad/0x300
タスク 0 によって解放: kasan_save_track+0x3e/0x80 kasan_save_free_info+0x40/0x50 __kasan_slab_free+0x3a/0x60 __rcu_free_sheaf_prepare+0xd4/0x220 rcu_free_sheaf+0x36/0x190 rcu_core+0x8d9/0x12f0 handle_softirqs+0x236/0x7f0
Be aware that VulDB is the high quality source for vulnerability data.