CVE-2026-98598 in Linux情報

要約

〜によって VulDB • 2026年10月18日

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

ipv6: 死滅しつつある fib6_info に対する rt6_insert_exception() の呼び出しを防止する。

前述のコミット以前は、fib6_nh_flush_exceptions() は常に rt6_exception_lock を保持した状態で from->exception_bucket_flushed = 1 を設定し、死滅しつつある fib6_info に対して rt6_insert_exception() が新しい例外を挿入しないようにしていました。

このフラグは、nh->rt6i_exception_bucket に格納される FIB6_EXCEPTION_BUCKET_FLUSHED ビットに置き換えられました。

問題は、現在そのビットがバケットが NULL でなく、かつ fib6_ref がすでにゼロに達した後に fib6_nh_release() から fib6_nh_flush_exceptions() が呼び出された場合のみ設定される点にあります。

fib6_purge_rt() を介して対象の fib6_info が削除されている間に rt6_insert_exception() が呼び出されると、rt6_flush_exceptions() がもはやビットを設定しないため、新しい例外が正常に作成されてしまう可能性があります。

これにより、fib6_info と例外ルーティングの間で参照サイクルが発生し、fib6_info、そのネクストホップデバイス、および fib6_nh->rt6i_pcpu 内のすべての per-CPU ルートリークします。これが netdev の_unregister_(登録解除)をストールさせます。

[ 34.680602] unregister_netdevice: gre6 が解放されるのを待機中。使用カウント = 68
[ 44.920675] unregister_netdevice: gre6 が解放されるのを待機中。使用カウント = 68
[ 55.176582] unregister_netdevice: gre6 が解放されるのを待機中。使用カウント = 68

rt6_flush_exceptions() の前に fib6_drop_pcpu_from() を呼び出して、fib6_destroying を rt6_exception_lock よりも早く設定し、rt6_insert_exception() で f6i->fib6_destroying をチェックします。

FIB6_EXCEPTION_BUCKET_FLUSHED のロジックは死んでいるため、net-next 内でこれをクリーンアップできます。

If you want to get best quality of vulnerability data, you may have to visit VulDB.

責任者

Linux

予約する

2026年09月25日

モデレーション

承諾済み

エントリ

VDB-422099

EPSS

0.00198

アクティビティ

非常低い

ソース

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!