CVE-2026-68415 in Linux
要約
〜によって VulDB • 2026年08月10日
Linuxカーネルにおいて、以下の脆弱性が修正されました。
xfrm: モードセットアップの失敗後にモードコールバックをクリアする
xfrm_state_gc_taskは、IPTFS状態の設定に失敗した後でも長時間実行されることがあります。再現されたケースでは、__xfrm_init_state()が x->mode_cbs をキャッシュし、IPTFS設定が mode_data の公開前に -ENOMEM で戻り値を返し、xfrm_get_mode_cbs() からの一時的なモジュール参照は直ちに解放されました。その後、無効化された状態は、xfrm_iptfs がアンロードされた後に遅延GC(ガベージコレクション)が実行されるまで x->mode_cbs を保持し続けました。
モードの初期化またはクローン作成時に mode_data の公開前に失敗した場合、x->mode_cbs をクリアします。これらの状態では特定のモード固有の状態や長期にわたるIPTFSモジュールピン(参照カウント維持)はインストールされなかったため、遅延GCには破棄すべきモード固有のデータがなく、一時的なルックアップ参照を過ぎてもコールバックテーブルポインタを保持してはいけません。
バグのあるシナリオでは2つのパスがあり、各列はそのパス内の順序を示しています:
失敗したセットアップパス: 1. x->mode_cbs をキャッシュする 2. mode_data より前にモード設定が失敗する 3. 一時的なモジュール参照を解放する 4. 無効化された状態が x->mode_cbs のキャッシュを保持し続ける
GC/アンロードパス: 1. xfrm_state_put() が GC ワークをキューに追加する 2. その後、xfrm_iptfs がアンロードされる 3. xfrm_state_gc_task が実行される 4. GC が古くなった(stale)x->mode_cbs を逆参照する
これには、clone_state() が mode_data の公開前に戻り値を返す失敗したクローンパスも含まれます。
検証により以下のカーネルレポートが再現されました:
Kernel panic - not syncing: Fatal exception CONFIG_FAULT_INJECTION_STACKTRACE_FILTER=y failslab_stacktrace_filter matched xfrm_iptfs frames ack_error=-12 FAULT_INJECTION: forcing a failure BUG: unable to handle page fault Workqueue: events xfrm_state_gc_task RIP: xfrm_state_gc_task+0x142/0x650 Modules linked in: esp4_offload xfrm_user [last unloaded: xfrm_iptfs]
Kernel panic - not syncing: Fatal exception
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.