Linux Kernel KVM for ARM64 vCPU Event Initialization Vulnerability

Vulnerability

A vulnerability in the Linux kernel's KVM module for ARM64 architecture allows userspace to access vCPU events of uninitialized vCPUs. This issue arises because KVM does not properly validate the initialization state of vCPUs before allowing userspace to pend events. As a result, KVM may route or inject exceptions based on random, uninitialized data. This flaw can cause a mismatch between the injection code and the hypervisor, potentially placing the vCPU in an illegal state for AArch64. During the next exception injection, this discrepancy triggers a kernel bug, leading to a crash.

Impact

Exploitation of this vulnerability causes a kernel crash due to a triggered bug in the exception handling code, disrupting normal system operations.

Reproduction

The vulnerability can be reproduced by using a tool like syzkaller to send ioctl commands that pend vCPU events for a vCPU that has not been initialized. This will cause KVM to inject exceptions based on uninitialized data, leading to a crash when the injection code and hypervisor disagree on the vCPU's state.

Remediation

Users can upgrade to the latest version of the Linux kernel where this vulnerability has been addressed.

Added: Oct 30, 2025, 10:27 AM
Updated: Oct 30, 2025, 3:26 PM

Vulnerability Rating

Custom Algorithm
spread
9.0
impact
2.5
exploitability
4.3
remediation
7.7
relevance
0.8
threat
4.8
urgency
2.9
incentive
1.7

Our algorithm analyzes dozens of metrics to generate these 8 key vulnerability categories, which are then combined to calculate the overall risk score.