Executive brief
A vulnerability was identified in the Linux kernel's virtualization component (KVM) that could allow a local user to cause system instability or potentially access sensitive information. The issue occurs when the system reads specific processor registers (PDPTRs) without proper synchronization, which can lead to improper memory access. This could result in a system crash or unauthorized data access on servers running virtual machines.
Technical details
A vulnerability exists in the Linux kernel KVM x86 implementation within the __get_sregs2() function. When reading Page-Directory-Pointer Table Registers (PDPTRs) during PAE paging, the code fails to acquire the necessary Sleepable Read-Copy Update (SRCU) locks. This leads to a race condition where kvm_vcpu_gfn_to_memslot() dereferences memslots without holding kvm->srcu or kvm->slots_lock, triggering a lockdep warning and potentially leading to use-after-free or other memory integrity issues. An attacker with local access to the KVM ioctl interface could exploit this to cause a denial of service or escalate privileges. The issue has been resolved by adding SRCU read-side protection around the PDPTR reading loop in arch/x86/kvm/x86.c.
Affected products
- Linux Linux Kernel 5.14 to 6.1.165, 6.2 to 6.6.128, 6.7 to 6.12.75, 6.13 to 6.18.16, 6.19 to 6.19.6
Timeline
- 2026-01-24: patched: Initial patch authored by Vasiliy Kovalev
- 2026-05-06: advisory: CVE-2026-43214 published by kernel.org
References
- https://git.kernel.org/stable/c/57536ff0a6bd69a5808d682925202babdb5ddc13
- https://git.kernel.org/stable/c/708e20c66b2761d878a2bc3c7534e7f814e4dec5
- https://git.kernel.org/stable/c/95d848dc7e639988dbb385a8cba9b484607cf98c
- https://git.kernel.org/stable/c/9f2bfea51151dfbb24b52f452eb3d5f5fe0e506e
- https://git.kernel.org/stable/c/b33f8d816950b10e7879cd8ffd7ae4b649ada4db
- https://git.kernel.org/stable/c/f621ca24f9f489e226e22560761b04884984133b