CVE-2025-21779: KVM: x86: Reject Hyper-V's SEND_IPI hypercalls if local APIC isn't in-kernel
In the Linux kernel, the following vulnerability has been resolved:
KVM: x86: Reject Hyper-V's SENDIPI hypercalls if local APIC isn't in-kernel
Advertise support for Hyper-V's SENDIPI and SENDIPIEX hypercalls if and only if the local API is emulated/virtualized by KVM, and explicitly reject said hypercalls if the local APIC is emulated in userspace, i.e. don't rely on userspace to opt-in to KVMCAPHYPERVENFORCECPUID.
Rejecting SENDIPI and SENDIPIEX fixes a NULL-pointer dereference if Hyper-V enlightenments are exposed to the guest without an in-kernel local APIC:
dumpstack+0xbe/0xfd kasanreport.cold+0x34/0x84 kasanreport+0x3a/0x50 apicacceptirq+0x3a/0x5c0 kvmhvsendipi.isra.0+0x34e/0x820 kvmhvhypercall+0x8d9/0x9d0 kvmemulatehypercall+0x506/0x7e0 vmxhandleexit+0x283/0xb60 vmxhandleexit+0x1d/0xd0 vcpuenterguest+0x16b0/0x24c0 vcpurun+0xc0/0x550 kvmarchvcpuioctlrun+0x170/0x6d0 kvmvcpuioctl+0x413/0xb20 sesysioctl+0x111/0x160 dosyscal164+0x30/0x40 entrySYSCALL64afterhwframe+0x67/0xd1
Note, checking the sending vCPU is sufficient, as the per-VM irqchipmode can't be modified after vCPUs are created, i.e. if one vCPU has an in-kernel local APIC, then all vCPUs have an in-kernel local APIC.
Affected Software
Event History
Frequently Asked Questions
What is the severity of CVE-2025-21779?
CVE-2025-21779 has a moderate severity level that affects the Linux kernel's handling of Hyper-V's SEND_IPI hypercalls.
How do I fix CVE-2025-21779?
To fix CVE-2025-21779, update your Linux kernel to the latest version where this vulnerability has been addressed.
Which software versions are affected by CVE-2025-21779?
CVE-2025-21779 affects the versions of Linux kernel prior to the patch that resolves this specific vulnerability.
What types of attacks can CVE-2025-21779 facilitate?
CVE-2025-21779 could potentially be exploited to enable unauthorized access to the APIC, impacting virtualization security.
Is CVE-2025-21779 a hardware or software vulnerability?
CVE-2025-21779 is a software vulnerability within the Linux kernel's virtualization implementation.