CVE-2026-97599 in Linux情報

要約

〜によって VulDB • 2026年09月25日

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

ieee802154: hwsim: double-freeを修正するためにpib更新の直列化を行う

hwsim_update_pib()はphy->pibに対して非同期なread-swap-free操作を行っています。

pib_old = rtnl_dereference(phy->pib); ... rcu_assign_pointer(phy->pib, pib); kfree_rcu(pib_old, rcu);

これはRTNLが保持されていることを前提としていますが、->set_channelは常にその下で呼び出されるわけではありません。mac802154のscan workerはdrv_set_channel()を介してチャネルを変更しますが、この際RTNLは保持されません。このような更新処理は、同じphy上でのRTNL保持時の更新と競合(race condition)を引き起こす可能性があります。両方のパスが同一のpib_oldを読み取り、双方でkfree_rcu()を実行することでオブジェクトの二重解放(double-free)が発生します。SLUBのpercpu sheavesによるkfree_rcu()のバッチ処理により、これはrcu_free_sheaf()内でKASAN invalid-freeとして検出されます。

struct hwsim_phyにはpib用のロックがありません。これを追加し、rtnl_dereference()という誤解を招く呼び出しを外した上で、そのロックの下でswap操作をrcu_replace_pointer()を用いてアトミックに行います。

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

責任者

Linux

予約する

2026年09月24日

モデレーション

承諾済み

エントリ

VDB-410089

EPSS

0.00000

アクティビティ

非常低い

ソース

Do you want to use VulDB in your project?

Use the official API to access entries easily!