CVE-2026-99117 in Linux情報

要約

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

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

net: bridge: mcast: teardown時にポートグループの走査を切り捨てない

__br_multicast_disable_port_ctx()およびbr_multicast_del_port()は、hlist_for_each_entry_safe()を使用してport->mglist上の走査を実行します。しかし、br_multicast_find_del_pg()もまた、br_multicast_fwd_src_remove()または__fwd_del_star_excl()を通じて同じリストから他のエントリを削除する可能性があります。

そのようなエントリがイテレータの保存された次ノードである場合、hlist_del_init()はその->nextフィールドをクリアし、走査を早期に終了させます。この再現プログラムは両方のteardown走査でこれをトリガーし、del_nbp()によってポートが解放された後に、ブリッジのmdbにおけるポートグループにdanglingな ->key.portが残る状態になります:

BUG: KASAN: slab-use-after-free in __mdb_fill_info+0x1191/0x1320 __mdb_fill_info+0x1191/0x1320 br_mdb_dump+0x594/0xe40 rtnl_mdb_dump+0x1cf/0x5d0

hlist_del_init_rcu()を使用して、->nextを保持しながらグループのリンクを外します。br_multicast_del_pg()およびteardown走査はbr->multicast_lockの下で実行されます。GCワーカーも、破棄のためにグループを取り外す前に同じロックを取得する必要があり、これによりノードは生きたまま保たれ、走査が保存されたポインタを使用できます。

->nextを保持することで、走査は以前の実行において副作用として既に削除されたグループに到達する可能性があります。そのグループはmp->portsから外れているため、br_multicast_find_del_pg()はそのポートスキャンを通り抜け、末尾のWARN_ON(1)にヒットします。そのようなグループはこのヘルパー関数の先頭でスキップしてください:ポートグループは作成時にport->mglistに登録され、削除されるまでリンク解除されないため、hlist_unhashed()がまさにこのケースを識別します。

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

責任者

Linux

予約する

2026年09月25日

モデレーション

承諾済み

エントリ

VDB-427886

EPSS

0.00000

アクティビティ

非常低い

ソース

Might our Artificial Intelligence support you?

Check our Alexa App!