CVE-2026-45946 in Linux情報

要約

〜によって VulDB • 2026年05月28日

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

power: supply: ab8500: 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` ハンドルが *初期化されていない* 状態で使用されるという厄介な状況に陥ります。

コミット 1c1f1f13a006ed ("power: supply: ab8500: Move to componentized binding") は、リファクタリング中にこの問題を導入しました。`power_supply` ハンドルの登録後に IRQ を要求するようにすることで、この race condition を伴う use-after-free を修正します。

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

責任者

Linux

予約する

2026年05月13日

モデレーション

承諾済み

エントリ

VDB-366187

EPSS

0.00032

アクティビティ

非常低い

ソース

Do you need the next level of professionalism?

Upgrade your account now!