【活用ガイド】

JVNDB-2026-023179

LinuxのLinux Kernelにおける不特定の脆弱性

概要

Linuxカーネルにおいて、以下の脆弱性が修正されました。KVM: x86: PIRが空の場合でも__kvm_apic_update_irr内でIRRスキャンを行います。PID.ONが設定されているがPIRが空の場合には、apic_find_highest_vector()にフォールバックして既存のIRRから最高優先度の保留割り込みを正しく報告します。ネストされたVMのストレステストにおいて、kvm_cpu_has_interrupt()が保留割り込みを報告しながら、その後に呼ばれるkvm_apic_has_interrupt()(再度vmx_sync_pir_to_irr()を呼び出す)が-1を返すと、vmx_check_nested_events()で以下のWARNINGが発生します。 WARNING: CPU: 99 PID: 57767 at arch/x86/kvm/vmx/nested.c:4449 vmx_check_nested_events+0x6bf/0x6e0 [kvm_intel] Call Trace: kvm_check_and_inject_events vcpu_enter_guest.constprop.0 vcpu_run kvm_arch_vcpu_ioctl_run kvm_vcpu_ioctl __x64_sys_ioctl do_syscall_64 entry_SYSCALL_64_after_hwframe。根本原因は、送信者vCPUの__vmx_deliver_posted_interrupt()とターゲットvCPUのvmx_sync_pir_to_irr()間の競合状態にあります。送信者は単一のトランザクションではない2つの個別に原子的な操作を行います。 1. pi_test_and_set_pir(vector) -- PIRビットを設定します。 2. pi_test_and_set_on() -- PID.ONを設定します。以下の操作の割り込みがバグを引き起こします。 送信者vCPU(IPI): ターゲットvCPU(1回目のsync_pir_to_irr): B1: PIR[vector]をセット A1: pi_clear_on()を実行します。 A2: pi_harvest_pir() -> B1のビットを検出します。 A3: xchg() -> ビットを消費しPIR=0にします。 (1回目のsyncは正しいmax_irrを返します。) B2: PID.ONを1にセットします。 ターゲットvCPU(2回目のsync_pir_to_irr): C1: pi_test_on() -> TRUE(B2由来) C2: pi_clear_on() -> ON=0にします。 C3: pi_harvest_pir() -> PIRが空です。 C4: *max_irr = -1で早期リターンします。 IRRはスキャンされません。割り込み自体は失われているわけではなく、最初の同期のIRRに存在し、次のvcpu_enter_guest()のイテレーションで回復されます。しかし、誤ったmax_irr値がスプリアスなWARNINGと無駄なL2 VM-Enter/VM-Exitサイクルを引き起こします。
CVSS による深刻度 (CVSS とは?)

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


Linux
  • Linux Kernel 6.16 以上 6.18.30 未満
  • Linux Kernel 6.19 以上 7.0.7 未満
  • Linux Kernel 7.1

想定される影響

・当該ソフトウェアが扱う情報について、外部への漏えいは発生しません。
・当該ソフトウェアが扱う情報について、書き換えは発生しません。
・当該ソフトウェアが完全に停止する可能性があります。
対策

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

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

  1. 情報不足(CWE-noinfo) [NVD評価]
共通脆弱性識別子(CVE)  CVEとは?

  1. CVE-2026-46295
参考情報

  1. National Vulnerability Database (NVD) : CVE-2026-46295
  2. 関連文書 : KVM: x86: Do IRR scan in __kvm_apic_update_irr even if PIR is empty - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/4b6b06a8b12bfd95f9015074b1430c1480908073)
  3. 関連文書 : KVM: x86: Do IRR scan in __kvm_apic_update_irr even if PIR is empty - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/bb1703949dcaa9a49c338dee075f659f4634214d)
  4. 関連文書 : KVM: x86: Do IRR scan in __kvm_apic_update_irr even if PIR is empty - kernel/git/stable/linux.git - Linux kernel stable tree (https://git.kernel.org/stable/c/33fd0ccd2590b470b65adcca288615ad3b5e3e06)
更新履歴

  • [2026年07月10日]
      掲載