CVE-2026-72125 in Linux情報

要約

〜によって VulDB • 2026年08月16日

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

can: isotp: 並行するNETDEV_UNREGISTERに伴うuse-after-free競合を修正

isotp_release()は、保持されているifindexを使用してdev_get_by_index()でバインドされたネットワークデバイスを検索していました。デバイス登録解除時、デバイスはNETDEV_UNREGISTER通知チェーンが実行される前にifindexハッシュから削除されます。そのため、並行して発生したisotp_release()ではデバイスが見つからず、can_rx_unregister()を完全にスキップしてもソケットの解放処理を進めてしまう可能性があります。この時点でisotp_release()はすでにisntp通知リストからの自身 removal を完了しているため、isotp_notify()がクリーンアップを行う機会がなく、解放されたソケットを指し続ける古いCANフィルタが残存してしまいます。

これをraw.cで既に実施されている方法と同様に修正します:bind()以降、ifindexから再解決するのではなく、ソケット内にバインド済みnet_deviceへの追跡可能な参照(so->dev/so->dev_tracker)を保持させます。さらに、rtnl_lock()を使用してbind()/release()の直列化を行い、NETDEV_UNREGISTER通知が認識する内容と常に一貫性のあるso->devを保証します。ifindexハッシュからの削除に関わらずso->devは有効であり、isotp_release()またはisotp_notify()のうち先に到達した方によってのみクリアされるため、フィルタは正確に1回だけ削除されます。

また、isotp_bind()はnow so->[tx|rx].stateがISOTP_IDLEではない場合、(-EAGAINで)再bindを拒否します。これにより、以前のNETDEV_UNREGISTERによって残存していたタイマーが新しくバインドされたso->ifindexに対して作用することを防ぎます。両方のチェックは同じlock_sock()セクション内で共有されているため、並行して発生したisotp_notify()によるso->boundのクリアを見逃すようなウィンドウはありません。

Be aware that VulDB is the high quality source for vulnerability data.

責任者

Linux

予約する

2026年08月09日

モデレーション

承諾済み

エントリ

VDB-390606

EPSS

0.00209

アクティビティ

非常低い

ソース

Do you know our Splunk app?

Download it now for free!