Vulnerability · Published Oct 18, 2026 · Assigned by Linux

CVE-2026-98464RISC-V: KVM: Synchronize hrtimer callback during teardown

Critical 9.3

In plain English

A critical-severity security flaw in Linux from Linux. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.1% (higher than 4% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS 3.1)9.3Critical
Exploit odds (30 days)0.1%top 96.4% of all CVEs
Exploited in the wildNo reportsnot in CISA KEV
Attack toolingNoneno public tooling known

Official description

In the Linux kernel, the following vulnerability has been resolved: RISC-V: KVM: Synchronize hrtimer callback during teardown The non-Sstc hrtimer callback clears next_set before its final uses of the enclosing vCPU. If teardown observes next_set as false while the callback is still running, kvm_riscv_vcpu_timer_cancel() skips hrtimer_cancel() and kvm_destroy_vcpus() can free the vCPU before the callback enters kvm_riscv_vcpu_set_interrupt(). A guest can arm the timer with SBI TIME and request shutdown with SBI legacy shutdown or SRST. A VMM that honors KVM_EXIT_SYSTEM_EVENT and destroys the VM supplies the teardown side of the race; no post-launch host ioctl is needed to arm or request teardown. On upstream master 62cc90241548, generic KASAN reported: BUG: KASAN: slab-use-after-free in do_raw_spin_lock Write of size 4 at addr ff60000005e58898 kvm_riscv_vcpu_set_interrupt kvm_riscv_vcpu_hrtimer_expired __hrtimer_run_queues hrtimer_interrupt The object was allocated by KVM_CREATE_VCPU and freed concurrently by: kvm_destroy_vcpus kvm_arch_destroy_vm kvm_destroy_vm __fput For deterministic validation, I added mdelay(1000) immediately after the existing next_set = false assignment. This only widens the existing post-clear callback window. A no-delay trace build naturally reached the callback-after-teardown-start/before-deinit ordering in 12 of 200 runs, but 1,500 stock-kernel stress iterations did not produce a KASAN report, so natural reproduction is timing-sensitive. Always invoke hrtimer_cancel() for an initialized timer. Preserve the existing -EINVAL result when the timer is no longer set, but only after synchronizing with a running callback. With this patch, hrtimer_cancel() blocked for the full widened callback window before vCPU destruction. KASAN reported no error in 100 fixed-and-widened runs or 200 fix-only timing-sweep runs.

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
Debian:12linux6.1.190-1DEBIAN-CVE-2026-98464
Debian:13linux6.12.113-1DEBIAN-CVE-2026-98464
Debian:14linux7.2.9-1DEBIAN-CVE-2026-98464
Debian:12linux-6.126.12.113-1~deb12u1DEBIAN-CVE-2026-98464
Ubuntu:24.04:LTSlinuxno fix listedUBUNTU-CVE-2026-98464
Ubuntu:26.04:LTSlinux7.0.0-42.42UBUNTU-CVE-2026-98464
Ubuntu:22.04:LTSlinux-allwinner-5.19no fix listedUBUNTU-CVE-2026-98464
Ubuntu:24.04:LTSlinux-awsno fix listedUBUNTU-CVE-2026-98464
Ubuntu:26.04:LTSlinux-aws7.0.0-1016.17UBUNTU-CVE-2026-98464
Ubuntu:22.04:LTSlinux-aws-5.19no fix listedUBUNTU-CVE-2026-98464
Ubuntu:24.04:LTSlinux-aws-6.14no fix listedUBUNTU-CVE-2026-98464
Ubuntu:24.04:LTSlinux-aws-6.17no fix listedUBUNTU-CVE-2026-98464
Ubuntu:22.04:LTSlinux-aws-6.2no fix listedUBUNTU-CVE-2026-98464
Ubuntu:22.04:LTSlinux-aws-6.5no fix listedUBUNTU-CVE-2026-98464
Ubuntu:22.04:LTSlinux-aws-6.8no fix listedUBUNTU-CVE-2026-98464
Ubuntu:24.04:LTSlinux-aws-7.0no fix listedUBUNTU-CVE-2026-98464
Ubuntu:24.04:LTSlinux-azureno fix listedUBUNTU-CVE-2026-98464
Ubuntu:26.04:LTSlinux-azureno fix listedUBUNTU-CVE-2026-98464
Ubuntu:22.04:LTSlinux-azure-5.19no fix listedUBUNTU-CVE-2026-98464
Ubuntu:24.04:LTSlinux-azure-6.11no fix listedUBUNTU-CVE-2026-98464
Ubuntu:24.04:LTSlinux-azure-6.14no fix listedUBUNTU-CVE-2026-98464
Ubuntu:24.04:LTSlinux-azure-6.17no fix listedUBUNTU-CVE-2026-98464
Ubuntu:22.04:LTSlinux-azure-6.2no fix listedUBUNTU-CVE-2026-98464
Ubuntu:22.04:LTSlinux-azure-6.5no fix listedUBUNTU-CVE-2026-98464
Ubuntu:22.04:LTSlinux-azure-6.8no fix listedUBUNTU-CVE-2026-98464
Ubuntu:24.04:LTSlinux-azure-7.0no fix listedUBUNTU-CVE-2026-98464
Ubuntu:24.04:LTSlinux-azure-fdeno fix listedUBUNTU-CVE-2026-98464
Ubuntu:26.04:LTSlinux-azure-fdeno fix listedUBUNTU-CVE-2026-98464
Ubuntu:22.04:LTSlinux-azure-fde-5.19no fix listedUBUNTU-CVE-2026-98464
Ubuntu:24.04:LTSlinux-azure-fde-6.14no fix listedUBUNTU-CVE-2026-98464
Ubuntu:24.04:LTSlinux-azure-fde-6.17no fix listedUBUNTU-CVE-2026-98464
Ubuntu:22.04:LTSlinux-azure-fde-6.2no fix listedUBUNTU-CVE-2026-98464
Ubuntu:22.04:LTSlinux-azure-fde-6.8no fix listedUBUNTU-CVE-2026-98464
Ubuntu:24.04:LTSlinux-azure-fde-7.0no fix listedUBUNTU-CVE-2026-98464
Ubuntu:24.04:LTSlinux-azure-nvidiano fix listedUBUNTU-CVE-2026-98464
Ubuntu:24.04:LTSlinux-azure-nvidia-6.14no fix listedUBUNTU-CVE-2026-98464
Ubuntu:24.04:LTSlinux-gcpno fix listedUBUNTU-CVE-2026-98464
Ubuntu:26.04:LTSlinux-gcp7.0.0-1016.18UBUNTU-CVE-2026-98464
Ubuntu:22.04:LTSlinux-gcp-5.19no fix listedUBUNTU-CVE-2026-98464
Ubuntu:24.04:LTSlinux-gcp-6.11no fix listedUBUNTU-CVE-2026-98464
Ubuntu:24.04:LTSlinux-gcp-6.14no fix listedUBUNTU-CVE-2026-98464
Ubuntu:24.04:LTSlinux-gcp-6.17no fix listedUBUNTU-CVE-2026-98464
Ubuntu:22.04:LTSlinux-gcp-6.2no fix listedUBUNTU-CVE-2026-98464
Ubuntu:22.04:LTSlinux-gcp-6.5no fix listedUBUNTU-CVE-2026-98464
Ubuntu:22.04:LTSlinux-gcp-6.8no fix listedUBUNTU-CVE-2026-98464
Ubuntu:24.04:LTSlinux-gcp-7.0no fix listedUBUNTU-CVE-2026-98464
Ubuntu:24.04:LTSlinux-gkeno fix listedUBUNTU-CVE-2026-98464
Ubuntu:26.04:LTSlinux-gkeno fix listedUBUNTU-CVE-2026-98464
Ubuntu:24.04:LTSlinux-gkeopno fix listedUBUNTU-CVE-2026-98464
Ubuntu:22.04:LTSlinux-hwe-5.19no fix listedUBUNTU-CVE-2026-98464
Ubuntu:24.04:LTSlinux-hwe-6.11no fix listedUBUNTU-CVE-2026-98464
Ubuntu:24.04:LTSlinux-hwe-6.14no fix listedUBUNTU-CVE-2026-98464
Ubuntu:24.04:LTSlinux-hwe-6.17no fix listedUBUNTU-CVE-2026-98464
Ubuntu:22.04:LTSlinux-hwe-6.2no fix listedUBUNTU-CVE-2026-98464
Ubuntu:22.04:LTSlinux-hwe-6.5no fix listedUBUNTU-CVE-2026-98464
Ubuntu:22.04:LTSlinux-hwe-6.8no fix listedUBUNTU-CVE-2026-98464
Ubuntu:24.04:LTSlinux-hwe-7.07.0.0-42.42~24.04.1UBUNTU-CVE-2026-98464
Ubuntu:24.04:LTSlinux-ibmno fix listedUBUNTU-CVE-2026-98464
Ubuntu:26.04:LTSlinux-ibm7.0.0-1017.17UBUNTU-CVE-2026-98464
Ubuntu:22.04:LTSlinux-ibm-6.8no fix listedUBUNTU-CVE-2026-98464
Ubuntu:22.04:LTSlinux-intel-iot-realtimeno fix listedUBUNTU-CVE-2026-98464
Ubuntu:24.04:LTSlinux-lowlatencyno fix listedUBUNTU-CVE-2026-98464
Ubuntu:22.04:LTSlinux-lowlatency-hwe-5.19no fix listedUBUNTU-CVE-2026-98464
Ubuntu:24.04:LTSlinux-lowlatency-hwe-6.11no fix listedUBUNTU-CVE-2026-98464
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.2no fix listedUBUNTU-CVE-2026-98464
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.5no fix listedUBUNTU-CVE-2026-98464
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.8no fix listedUBUNTU-CVE-2026-98464
Ubuntu:24.04:LTSlinux-nvidiano fix listedUBUNTU-CVE-2026-98464
Ubuntu:26.04:LTSlinux-nvidiano fix listedUBUNTU-CVE-2026-98464
Ubuntu:24.04:LTSlinux-nvidia-6.11no fix listedUBUNTU-CVE-2026-98464
Ubuntu:24.04:LTSlinux-nvidia-6.17no fix listedUBUNTU-CVE-2026-98464
Ubuntu:22.04:LTSlinux-nvidia-6.2no fix listedUBUNTU-CVE-2026-98464
Ubuntu:22.04:LTSlinux-nvidia-6.5no fix listedUBUNTU-CVE-2026-98464
Ubuntu:22.04:LTSlinux-nvidia-6.8no fix listedUBUNTU-CVE-2026-98464
Ubuntu:24.04:LTSlinux-nvidia-7.0no fix listedUBUNTU-CVE-2026-98464
Ubuntu:26.04:LTSlinux-nvidia-bosno fix listedUBUNTU-CVE-2026-98464
Ubuntu:24.04:LTSlinux-nvidia-lowlatencyno fix listedUBUNTU-CVE-2026-98464
Ubuntu:24.04:LTSlinux-nvidia-tegrano fix listedUBUNTU-CVE-2026-98464
Ubuntu:22.04:LTSlinux-oem-5.17no fix listedUBUNTU-CVE-2026-98464
Ubuntu:22.04:LTSlinux-oem-6.0no fix listedUBUNTU-CVE-2026-98464
Ubuntu:22.04:LTSlinux-oem-6.1no fix listedUBUNTU-CVE-2026-98464
Ubuntu:24.04:LTSlinux-oem-6.11no fix listedUBUNTU-CVE-2026-98464
Ubuntu:24.04:LTSlinux-oem-6.14no fix listedUBUNTU-CVE-2026-98464
Ubuntu:24.04:LTSlinux-oem-6.17no fix listedUBUNTU-CVE-2026-98464
Ubuntu:22.04:LTSlinux-oem-6.5no fix listedUBUNTU-CVE-2026-98464
Ubuntu:24.04:LTSlinux-oem-6.8no fix listedUBUNTU-CVE-2026-98464
Ubuntu:26.04:LTSlinux-oem-7.07.0.0-1017.17UBUNTU-CVE-2026-98464
Ubuntu:24.04:LTSlinux-oracleno fix listedUBUNTU-CVE-2026-98464
Ubuntu:26.04:LTSlinux-oracle7.0.0-1015.16UBUNTU-CVE-2026-98464
Ubuntu:24.04:LTSlinux-oracle-6.14no fix listedUBUNTU-CVE-2026-98464
Ubuntu:24.04:LTSlinux-oracle-6.17no fix listedUBUNTU-CVE-2026-98464
Ubuntu:22.04:LTSlinux-oracle-6.5no fix listedUBUNTU-CVE-2026-98464
Ubuntu:22.04:LTSlinux-oracle-6.8no fix listedUBUNTU-CVE-2026-98464
Ubuntu:24.04:LTSlinux-oracle-7.0no fix listedUBUNTU-CVE-2026-98464
Ubuntu:24.04:LTSlinux-raspino fix listedUBUNTU-CVE-2026-98464
Ubuntu:26.04:LTSlinux-raspino fix listedUBUNTU-CVE-2026-98464
Ubuntu:24.04:LTSlinux-raspi-realtimeno fix listedUBUNTU-CVE-2026-98464
Ubuntu:22.04:LTSlinux-realtimeno fix listedUBUNTU-CVE-2026-98464
Ubuntu:24.04:LTSlinux-realtimeno fix listedUBUNTU-CVE-2026-98464
Ubuntu:26.04:LTSlinux-realtimeno fix listedUBUNTU-CVE-2026-98464
Ubuntu:22.04:LTSlinux-riscvno fix listedUBUNTU-CVE-2026-98464
Ubuntu:24.04:LTSlinux-riscvno fix listedUBUNTU-CVE-2026-98464
Ubuntu:26.04:LTSlinux-riscv7.0.0-42.42.1UBUNTU-CVE-2026-98464
Ubuntu:22.04:LTSlinux-riscv-5.19no fix listedUBUNTU-CVE-2026-98464
Ubuntu:24.04:LTSlinux-riscv-6.14no fix listedUBUNTU-CVE-2026-98464
Ubuntu:24.04:LTSlinux-riscv-6.17no fix listedUBUNTU-CVE-2026-98464
Ubuntu:22.04:LTSlinux-riscv-6.5no fix listedUBUNTU-CVE-2026-98464
Ubuntu:22.04:LTSlinux-riscv-6.8no fix listedUBUNTU-CVE-2026-98464
Ubuntu:24.04:LTSlinux-riscv-7.07.0.0-42.42.1~24.04.1UBUNTU-CVE-2026-98464
Ubuntu:22.04:LTSlinux-starfive-5.19no fix listedUBUNTU-CVE-2026-98464
Ubuntu:22.04:LTSlinux-starfive-6.2no fix listedUBUNTU-CVE-2026-98464
Ubuntu:22.04:LTSlinux-starfive-6.5no fix listedUBUNTU-CVE-2026-98464
Ubuntu:24.04:LTSlinux-vmwareno fix listedUBUNTU-CVE-2026-98464
Ubuntu:24.04:LTSlinux-xilinxno fix listedUBUNTU-CVE-2026-98464

Affected products (as reported)

VendorProductVersions
Linux Linux 3a9f66cb25e18a3eeca36c08d9f823a35b3ddc22 – before 9bdbae64ae0dab93041ebc57ec4e93def793fc2d3a9f66cb25e18a3eeca36c08d9f823a35b3ddc22 – before 2af03b606aadaaeb386658ef798c79bdcdef87c13a9f66cb25e18a3eeca36c08d9f823a35b3ddc22 – before e66aced74f0122380603c9910a71d77618b28f0e3a9f66cb25e18a3eeca36c08d9f823a35b3ddc22 – before ea91f05a55b807ead3166546a2c75f4185ca645f3a9f66cb25e18a3eeca36c08d9f823a35b3ddc22 – before 3cc6184bd5920c9685d87f4e260568feba08650d3a9f66cb25e18a3eeca36c08d9f823a35b3ddc22 – before aaad136d56d91252517272b68cd533e5714698d5
Linux Linux 5.16

References