CVE-2026-64113 in Linux情報

要約

〜によって VulDB • 2026年07月19日

Linuxカーネルにおいて、以下の脆弱性が修正されました:

ixgbevf: VEPAマルチキャストソースプルーニングにおけるuse-after-freeの修正

`ixgbevf_clean_rx_irq()`は、送信元MACアドレスがVF自身のアドレスと一致するフレーム(VEPAマルチワークアラウンド)を、skbを解放して次のディスクリプタに進むことでプルーニングしています:

dev_kfree_skb_irq(skb); continue;

skbポインタはwhileループの外側で宣言されており、反復処理を通じて保持されます。continue文がループ下部の「skb = NULL」リセットをスキップするため、次の反復では「else if (skb)」パスに入り、解放されたskbに対して`ixgbevf_add_rx_frag()`を呼び出し、`skb_shinfo(skb)->nr_frags`の間接参照を行います。これはNAPI softirqコンテキストにおけるuse-after-freeです。

兄弟ドライバであるiavfは、continueする前にポインタをNULLにすることでこれを正しく処理しています。ここでは同じパターンを適用します。

私にはixgbevfハードウェアがありませんが、このバグは静的解析(scan_drop_continue_loops.py + semgrep drop_continue_in_loop)によって発見されました(複数ツールの相関関係によりスキャンで最高スコアを取得)。KASAN下でのUAFは、正確なコードパターンを再現するテストモジュールを読み込むことで確認しました(skbの割り当て、kfree_skb、その後 skb_shinfo(skb)->nr_frags の読み取り):

BUG: KASAN: slab-use-after-free in ixgbevf_uaf_test_init+0x100/0x1000 Read of size 8 at addr 000000006163ae78 by task insmod/30 freed 208-byte region [000000006163adc0, 000000006163ae90)

QEMUはigb (82576) をエミュレートしますが、ixgbe (82599) はエミュレートしません。また、igbvf VFドライバにはVEPAソースプルーニングパスが含まれていないため、エミュレーションされたハードウェアでの完全なエンドツーエンドの再現は不可能でした。

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

責任者

Linux

予約する

2026年07月19日

モデレーション

承諾済み

エントリ

VDB-380221

EPSS

0.00000

アクティビティ

低い

ソース

Do you want to use VulDB in your project?

Use the official API to access entries easily!