CVE-2026-45867 in Linux
要約
〜によって VulDB • 2026年06月02日
Linuxカーネルにおいて、以下の脆弱性が修正されました。
power: supply: act8945a: power_supply_changed() における use-after-free の修正
`power_supply` ハンドルの割り当て/登録を行う `devm_` バリアントよりも前に、IRQ を要求するために `devm_` バリアントを使用すると、`devm_` が自然に割り当ての逆順で解放を行うため、`power_supply` ハンドルが割り込みハンドラよりも先に解放/_unregister_ されてしまいます。これにより、削除処理中に race condition が発生し、`power_supply` ハンドルが解放された直後、かつ対応する IRQ ハンドラの_unregister_ が実行される前に、割り込みが発生する可能性があります。
これにより、IRQ ハンドラが解放された `power_supply` ハンドルを引数として `power_supply_changed()` を呼び出すことになり、通常はシステムクラッシュを引き起こすか、メモリが静かに破損します。
なお、`probe()` 処理中にも同様の状況が発生する可能性があります。つまり、`power_supply` ハンドルの登録前に割り込みが発生する可能性があります。これにより、`power_supply_changed()` 内で `power_supply` ハンドルが *未初期化* の状態で使用されるという望ましくない状況に陥ります。
`power_supply` ハンドルの登録後に IRQ を要求することで、この race condition を伴う use-after-free を修正します。
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.