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()による原子操作に置き換え、競合状況でも正しく片方のみがポインタを取得するようにしました。
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-191) [NVD評価]
CVE-2026-31656
National Vulnerability Database (NVD) : CVE-2026-31656 関連文書 : 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) 関連文書 : 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) 関連文書 : 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) 関連文書 : 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) 関連文書 : 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) 関連文書 : 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) 関連文書 : 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日] 掲載