【活用ガイド】

JVNDB-2026-013631

LinuxのLinux Kernelにおける整数アンダーフローの脆弱性

概要

Linuxカーネルのdrm/i915/gtコンポーネントにおいて、intel_engine_park_heartbeat関数で参照カウントのアンダーフローが発生する脆弱性が修正されました。heartbeatワーカーとintel_engine_park_heartbeat関数が同じengine-heartbeat.systoleリクエストの解放を競合する場面で、use-after-freeおよび参照カウントアンダーフローの可能性が存在します。具体的には、heartbeatワーカーがsystoleポインタを読み込み処理を開始し、リクエスト完了時にi915_request_put()を呼び出しますが、ポインタのクリアは非アトミックに別段階で実施されます。一方、別CPUのリクエスト退職処理によりengineのwakerefが0になった際にintel_engine_park_heartbeat()が呼び出され、heartbeatタイマーが保留中である場合はcancel_delayed_work()がtrueを返し、古い非NULLのsystoleポインタを読み取って再度i915_request_put()を呼び出すため、参照カウントがアンダーフローします。この問題を解決するために、非アトミックなポインタ読み込みとクリアの処理をxchg()による原子操作に置き換え、競合状況でも正しく片方のみがポインタを取得するようにしました。
CVSS による深刻度 (CVSS とは?)

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


Linux
  • Linux Kernel 5.16 以上 6.1.169 未満
  • Linux Kernel 5.5.1 以上 5.15.203 未満
  • Linux Kernel 6.13 以上 6.18.23 未満
  • Linux Kernel 6.19 以上 6.19.13 未満
  • Linux Kernel 6.2 以上 6.6.135 未満
  • Linux Kernel 6.7 以上 6.12.82 未満
  • Linux Kernel 5.5
  • Linux Kernel 7.0

想定される影響

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

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

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

  1. 整数アンダーフロー(CWE-191) [NVD評価]
共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2026-31656
参考情報

  1. National Vulnerability Database (NVD) : CVE-2026-31656
  2. 関連文書 : drm/i915/gt: fix refcount underflow in intel_engine_park_heartbeat - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/455d98ed527fc94eed90406f90ab2391464ca657)
  3. 関連文書 : drm/i915/gt: fix refcount underflow in intel_engine_park_heartbeat - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/8ce44d28a84fd5e053a88b04872a89d95c0779d4)
  4. 関連文書 : drm/i915/gt: fix refcount underflow in intel_engine_park_heartbeat - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/4c71fd099513bfa8acab529b626e1f0097b76061)
  5. 関連文書 : drm/i915/gt: fix refcount underflow in intel_engine_park_heartbeat - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/70d3e622b10092fc483e28e57b4e8c49d9cc7f68)
  6. 関連文書 : drm/i915/gt: fix refcount underflow in intel_engine_park_heartbeat - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/2af8b200cae3fdd0e917ecc2753b28bb40c876c1)
  7. 関連文書 : drm/i915/gt: fix refcount underflow in intel_engine_park_heartbeat - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/a00e92bf6583d019a4fb2c2df7007e6c9b269ce7)
  8. 関連文書 : drm/i915/gt: fix refcount underflow in intel_engine_park_heartbeat - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/ca3f48c3567dd49efdc55b80029ae74659c682ee)
更新履歴

  • [2026年04月30日]
      掲載