【活用ガイド】

JVNDB-2026-014823

LinuxのLinux Kernelにおける解放済みメモリの使用に関する脆弱性

概要

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遅延作業の再初期化を防止する対策を実施しました。なお、これらの変更はサーマルゾーンのサスペンド・レジューム処理をデバイスのサスペンド・レジューム処理により近い位置に移動することも促進します。
CVSS による深刻度 (CVSS とは?)

CVSS v3 による深刻度
基本値: 7.8 (重要) [NVD値]
  • 攻撃元区分: ローカル
  • 攻撃条件の複雑さ: 低
  • 攻撃に必要な特権レベル: 低
  • 利用者の関与: 不要
  • 影響の想定範囲: 変更なし
  • 機密性への影響(C): 高
  • 完全性への影響(I): 高
  • 可用性への影響(A): 高
影響を受けるシステム


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

想定される影響

当該ソフトウェアが扱う全ての情報が外部に漏れる可能性があります。
また、当該ソフトウェアが扱う全ての情報が書き換えられる可能性があります。
さらに、当該ソフトウェアが完全に停止する可能性があります。
そして、この脆弱性を悪用した攻撃の影響は、他のソフトウェアには及びません。
対策

リリース情報、またはパッチ情報が公開されています。参考情報を参照して適切な対策を実施してください。
ベンダ情報

CWEによる脆弱性タイプ一覧  CWEとは?

  1. 解放済みメモリの使用(CWE-416) [NVD評価]
共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2026-31731
参考情報

  1. National Vulnerability Database (NVD) : CVE-2026-31731
  2. 関連文書 : thermal: core: Address thermal zone removal races with resume - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/2dbe93f344f10b432b95a23304006be805c097a1)
  3. 関連文書 : thermal: core: Address thermal zone removal races with resume - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/45b859b0728267a6199ee5002d62e6c6f3e8c89d)
  4. 関連文書 : thermal: core: Address thermal zone removal races with resume - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/c4593f1654f7dea3bcf9bb1851ded86311d4f370)
  5. 関連文書 : thermal: core: Address thermal zone removal races with resume - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/1a6d2b001eb730d85f00da39ae7db6f3b4edc540)
更新履歴

  • [2026年05月11日]
      掲載