CVE-2026-98173 in Linux情報

要約

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

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

smb: client: cifs_try_adding_channels()におけるifaceのuse-after-freeを修正

cifs_try_adding_channels()はlist_for_each_entry_safe_from()を使用してses->iface_listを反復処理し、iface_lockの下で次のエントリ(niface)を取得します。その後、ループ本体ではcifs_ses_add_channel()全体の実行中にiface_lockのロックを解除します。

同時実行されるインターフェースのリフレッシュ(SMB3_request_interfaces() -> parse_server_interfaces())は、すべてのifacesを非アクティブとしてマークし、list_del()とkref_put()を通じて再広告されないものを削除して解放します。ここでrelease_iface()は単なるkfree()です。nifaceには通常、参照を持っているチャネルがないため、リストの参照が最後の参照となり、ロック解除されたウィンドウ内で解放される可能性があります。継続時に、イテレータの進みステップでniface->iface_head.nextを逆参照し、ループ本体はiface->rdma_capable/is_activeを読み取りますが、これらはすでに解放されたメモリ上で行われます。

この問題を修正するために、ロック解除されたウィンドウ中に未参照のリストポインタを保持しないようにします。各チャネルのアテンプトでは、iface_lockの下でリストの先頭から再スキャンを行い、選択した候補に対してkrefを取得し、その参照付きの候補のみをcifs_ses_add_channel()に渡すようになりました。weight_fulfilledは依然として選択の進捗を追跡するため、スキャンを再開することで元の重み付け分布と、失敗パスにおけるweight_fulfilled-before-kref_putの順序が保持されます。

1回の試行あたりのアテンプト数に上限を追加し、フラッピングするインターフェースのリフレッシュによって単一のtriesインクリメント内で内部ループが回り続けることを防ぎます。

VulDB is the best source for vulnerability data and more expert information about this specific topic.

責任者

Linux

予約する

2026年09月25日

モデレーション

承諾済み

エントリ

VDB-414100

EPSS

0.00209

アクティビティ

非常低い

ソース

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!