| Title | LinuxのLinux Kernelにおける解放済みメモリの使用に関する脆弱性 |
|---|---|
| Summary | Linuxカーネルにおいて、以下の脆弱性が修正されました:thermal: coreにおけるサーマルゾーンの削除競合状態とレジュームの競合の問題を解決しました。thermal_zone_pm_complete()およびthermal_zone_device_resume()は、該当するサーマルゾーンのpoll_queue遅延作業を再初期化します。しかし、thermal_zone_device_unregister()内のcancel_delayed_work_sync()は既に実行中の作業アイテムを見逃す可能性があり、結果としてサーマルゾーンが早期に解放されることがあります[1]。失敗シナリオは2つあり、どちらもthermal_pm_notify_complete()が実行された直後にサーマルゾーンの1つに対してthermal_zone_device_unregister()が呼び出されることから始まります。最初のシナリオでは、thermal_pm_notify_complete()が該当するサーマルゾーンに対してthermal_zone_pm_complete()を呼び出した時点ですでに作業アイテムが実行中であり、その作業はthermal_zone_device_unregister()の開始時も継続しています。thermal_pm_notify_complete()によってpoll_queue遅延作業が再初期化されているため、thermal_zone_device_unregister()のcancel_delayed_work_sync()は実行中の作業アイテムを見逃し、その作業がサーマルゾーンオブジェクトの解放後も継続するためUse-After-Freeの問題が発生します。2つ目のシナリオでは、thermal_pm_notify_complete()によってキューに入れられたthermal_zone_device_resume()が、thermal_zone_device_unregister()によって呼び出されたthermal_zone_exit()が終了した直後に実行されます。poll_queue遅延作業はthermal_zone_device_resume()によって再初期化され、その後thermal_zone_device_unregister()がcancel_delayed_work_sync()を呼び出しますが、そのタイミングで遅延作業は継続して実行され、サーマルゾーンオブジェクトの解放後の動作となり、これもUse-After-Freeにつながります。最初の失敗シナリオでは、thermal_pm_notify_complete()が呼ばれる際にサーマル作業アイテムが実行中でないことを保証する対応を行いました。まずthermal_zone_pm_complete()からcancel_delayed_work()の呼び出しをthermal_zone_pm_prepare()へ移動し、その後新規作業が作業キューに追加されないようにしました。次にサーマルイベント専用の作業キューを使用するよう切り替え、thermal_pm_notify()内のコードもthermal_pm_notify_prepare()の戻り後にその専用作業キューをフラッシュする処理に更新し、残っているサーマル作業の処理を完了させました(残作業はすべてのサーマルゾーンがサスペンド状態であるため、意味のある処理は行いません)。2つ目の失敗シナリオでは、thermal_zone_device_resume()にtz-stateチェックを追加し、サーマルゾーンが消去される場合にpoll_queue遅延作業の再初期化を防止する対策を実施しました。なお、これらの変更はサーマルゾーンのサスペンド・レジューム処理をデバイスのサスペンド・レジューム処理により近い位置に移動することも促進します。 |
| Possible impacts | 当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。 また、当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。 さらに、当該ソフトウェアが完全に停止する可能性があります。 そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。 |
| Solution | リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。 |
| Publication Date | May 1, 2026, midnight |
| Registration Date | May 11, 2026, 11 a.m. |
| Last Update | May 11, 2026, 11 a.m. |
| CVSS3.0 : 重要 | |
| Score | 7.8 |
|---|---|
| Vector | CVSS:3.0/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H |
| Linux |
| Linux Kernel 6.13 以上 6.18.22 未満 |
| Linux Kernel 6.19 以上 6.19.12 未満 |
| Linux Kernel 6.8 以上 6.12.83 未満 |
| Linux Kernel 7.0 |
| No | Changed Details | Date of change |
|---|---|---|
| 1 | [2026年05月11日] 掲載 |
May 11, 2026, 11 a.m. |
| Summary | In the Linux kernel, the following vulnerability has been resolved: thermal: core: Address thermal zone removal races with resume Since thermal_zone_pm_complete() and thermal_zone_device_resume() There are two failing scenarios that both start with In the first scenario, there is a work item already running for In the second scenario, thermal_zone_device_resume() queued up by Address the first failing scenario by ensuring that no thermal work The second failing scenario is addressed by adding a tz->state check Note that the above changes will also facilitate relocating the suspend |
|---|---|
| Publication Date | May 2, 2026, 12:16 a.m. |
| Registration Date | May 2, 2026, 4:07 a.m. |
| Last Update | May 8, 2026, 10:16 p.m. |
| Configuration1 | or higher | or less | more than | less than | |
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.8 | 6.12.83 | |||
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.13 | 6.18.22 | |||
| cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* | 6.19 | 6.19.12 | |||
| cpe:2.3:o:linux:linux_kernel:7.0:rc1:*:*:*:*:*:* | |||||
| cpe:2.3:o:linux:linux_kernel:7.0:rc2:*:*:*:*:*:* | |||||
| cpe:2.3:o:linux:linux_kernel:7.0:rc3:*:*:*:*:*:* | |||||
| cpe:2.3:o:linux:linux_kernel:7.0:rc4:*:*:*:*:*:* | |||||
| cpe:2.3:o:linux:linux_kernel:7.0:rc5:*:*:*:*:*:* | |||||
| cpe:2.3:o:linux:linux_kernel:7.0:rc6:*:*:*:*:*:* | |||||