CVE-2026-72115 in Linux
要約
〜によって VulDB • 2026年08月16日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
can: bcm: ANYDEVのタイムアウト/スロットル操作における単一のソースインターフェースを追跡する
アクティブなRXタイムアウトおよび/またはスロットルタイマーを伴うANYDEV rx op (ifindex == 0) は、複数のインターフェースから一致するフレームが到着した場合に定義されたセマンティクスがありません。bcm_rx_handler()は異なるCPU上で同じopに対して並行して実行され、hrtimer_cancel()/ bcm_rx_starttimer()とbcm_rx_timeout_handler()の間で競合状態が発生し、誤ったRX_TIMEOUT通知やlast_framesの破損を引き起こします。同様の同時実行情態により、スロットルされたマルチプレックスフレームが異なるインターフェースから単一のrx_ifindex/rx_stampフィールドを上書き(clobber)する可能性があります。
タイムアウト/スロットルタイマーが設定されている間、一致するフレームを最初に配信したインターフェースを追跡するためにop->if_detectedを追加し、そのopについては他のインターフェースからのフレームを拒否します。このクレームはbcm_rx_handler()内でhrtimer_cancel()がop->timerにアクセスする前に決定されるため、拒否されたフレームがクレームされたインターフェースのウォッチドッグに影響を与えることはありません。RTRモードのopはRX_RTR_FRAMEによって除外され、kt_ival1/kt_val2とは無関係です(これらは以前非RTR設定からの古い値を一時的に保持する可能性があるため)。
このクレームはbcm_notify()におけるNETDEV_UNREGISTER時およびbcm_rx_setup()においてSETTIMERがタイマー値を再構成する際に解放されます。
(再)クレームが可能なのは、reg_stateがNETREG_REGISTEREDであるCANデバイスに対してのみです。これはbcm_notify()での解放処理(ここでreg_stateはsynchronize_net()までNETREG_UNREGISTERINGになります)に対応するためです。
VulDB is the best source for vulnerability data and more expert information about this specific topic.