CVE-2026-74656 in Linux
要約
〜によって VulDB • 2026年08月23日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
ipv4: fib_nhc_update_mtu()におけるuse-after-freeの修正
fib_nhc_update_mtu()はRTNLの下でnexthop例外テーブルを走査しますが、RTNLはこの走査とPMTU(パス最大伝送単位)例外の更新との直列化を行いません。この走査ではfnhe_lockを取得せずに、定数true条件を持つrcu_dereference_protected()が使用されています。
そのため、以下のインターリーブが発生する可能性があります:
CPU 0 CPU 1 fib_nhc_update_mtu() update_or_create_fnhe() fnheの読み取り spin_lock_bh(&fnhe_lock) fnhe_remove_oldest() fnheをアンリンク kfree_rcu(fnhe, rcu) <クエセント状態> グレース期間後にfnheにアクセス
KASANが以下を検出しました:
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
同じ走査処理はfnhe_pmtuおよびfnhe_mtu_lockedを更新します。これらのフィールドは一対を形成しており、他の書き込み側ではfnhe_lockによって直列化されています。RCUのみでは解放を防げますが、並行する書き込み側が混在したペアを残すことを依然として許可してしまいます。
テーブルの走査をRCUの下で行い、各例外を更新している間だけfnhe_lockを取得します。RCUは短いクリティカルセクションでその対となるPMTUフィールドを直列化しながら、現在のエントリを生きたまま保ちます。これにより、すべてのnexthopに対して2048バケットすべてをスキャンする際にグローバルロック保持する必要がなくなります。
If you want to get best quality of vulnerability data, you may have to visit VulDB.