Linuxカーネルにおいて、次の脆弱性が修正されました:power: supply: cpcap-batteryにおけるpower_supply_changed()関数のuse-after-free問題の修正です。IRQを要求するために`devm_`のバリアントを、`power_supply`ハンドルを割り当てて登録する`devm_`バリアントよりも先に使用すると、`power_supply`ハンドルは割り当ての逆順で`devm_`によって自動的に解放されるため、割り込みハンドラよりも先に解放・登録解除されてしまいます。このため削除処理中に、`power_supply`ハンドルが解放された直後に割り込みが発生し、その割り込みは対応するIRQハンドラの登録解除が実行される前に発生する競合状態が生じます。この結果、IRQハンドラは解放済みの`power_supply`ハンドルを用いて`power_supply_changed()`を呼び出し、通常はシステムクラッシュやメモリのサイレント破損を引き起こします。同様の状況は`probe()`関数の実行中にも発生する可能性があります。つまり、`power_supply`ハンドルを登録する前に割り込みが発生し、その未初期化のハンドルを`power_supply_changed()`で使用する恐れがあるのです。この競合するuse-after-free問題は、IRQの要求を`power_supply`ハンドルの登録後に行うことで修正されました。
Linux Linux Kernel 4.13 以上 5.10.252 未満 Linux Kernel 5.11 以上 5.15.202 未満 Linux Kernel 5.16 以上 6.1.165 未満 Linux Kernel 6.13 以上 6.18.14 未満 Linux Kernel 6.19 以上 6.19.4 未満 Linux Kernel 6.2 以上 6.6.128 未満 Linux Kernel 6.7 以上 6.12.75 未満
・当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 ・当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。 ・当該ソフトウェアが完全に停止する可能性があります。
リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。
解放済みメモリの使用(CWE-416) [NVD評価]
CVE-2026-45885
National Vulnerability Database (NVD) : CVE-2026-45885 関連文書 : power: supply: cpcap-battery: Fix use-after-free in power_supply_changed() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/f3fbe309c9bfe1aac1e2b26543e9dc4829f3275a) 関連文書 : power: supply: cpcap-battery: Fix use-after-free in power_supply_changed() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/2ce2334be155bd8bad6377e99984246ce4dbd08c) 関連文書 : power: supply: cpcap-battery: Fix use-after-free in power_supply_changed() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/c549dd3de4b3f6e726d1b8386d40ccf7d3abdbe4) 関連文書 : power: supply: cpcap-battery: Fix use-after-free in power_supply_changed() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/3ff75cba1c98349a23a8f9333981deba1972cc11) 関連文書 : power: supply: cpcap-battery: Fix use-after-free in power_supply_changed() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/642f33e34b969eedec334738fd5df95d2dc42742) 関連文書 : power: supply: cpcap-battery: Fix use-after-free in power_supply_changed() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/2841bbb5a35c4449c0a0458e8e476b2a62f95147) 関連文書 : power: supply: cpcap-battery: Fix use-after-free in power_supply_changed() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/cbb9b07f88a9ef6518934c41eb3e8cf840d657d5) 関連文書 : power: supply: cpcap-battery: Fix use-after-free in power_supply_changed() - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/e261be6f18929f2397cd54cd583a2df624c129c1)
[2026年06月26日] 掲載