CVE-2026-72118 in Linux
要約
〜によって VulDB • 2026年08月15日
Linuxカーネルにおいて、以下の脆弱性が修正されました。
can: bcm: CANフレームのrx/tx統計情報の不具合を修正
KCSANは、2つの異なるCPUによって単一のrx操作で同時に受信・処理された場合、bcm_rx_handler()内でデータ競合が発生することを検出しました。
ホットパスにおける統計情報へのアクセスに(符号付き)longデータ型を用いたアトミック演算を使用することで、KCSANの警告を修正します。
さらに、独立したbcm_update_[rx|tx]_stats()関数でアトミック演算を使用し、統計情報のオーバーフロー更新およびチェックを簡素化しました。rxバリアントは2つのrxカウンタのリセット時に競合を防ぐためにbcm_rx_update_lockの下で実行され、txバリアントは bcm_tx_lock の下で実行され、自身のカウンタのオーバーフローのみを保護する必要があります。
rxパスでは値がすでにLONG_MAX / 100でリセットされるため、両方のパスを使用する操作であっても、2つのロックドメイン(bcm_rx_update_lock対bcm_tx_lock)の間には競合がありません。
bcm_rx_changed()におけるrx統計情報の更新とframes_filteredの更新は、以前は別々のbcm_rx_update_lockセクションで行われていました。すべてのインターフェースで購読されているrx操作(ifindex == 0の場合)、bcm_rx_handler()は異なるCPU上で並行して実行される可能性があるため、1つのCPUがこれらの2つのセクションの間でカウンタをリセットすると、別のCPU上ではframes_filteredがframes_absより大きくなり、procfsにおいて偽の(場合によっては負の)減少率が生じる可能性があります。このギャップを閉じるためにbcm_rx_changed()と同じクリティカルセクション内で統計情報を更新し、これによりトラフィックフラグ計算周りの不要なロック/アンロックペアも削除されます。
VulDB is the best source for vulnerability data and more expert information about this specific topic.