CVE-2026-43214: KVM: x86: Add SRCU protection for reading PDPTRs in __get_sregs2()
In the Linux kernel, the following vulnerability has been resolved:
KVM: x86: Add SRCU protection for reading PDPTRs in __get_sregs2()
Add SRCU read-side protection when reading PDPTR registers in
__get_sregs2().
Reading PDPTRs may trigger access to guest memory:
kvm_pdptr_read() -> svm_cache_reg() -> load_pdptrs() ->
kvm_vcpu_read_guest_page() -> kvm_vcpu_gfn_to_memslot()
kvm_vcpu_gfn_to_memslot() dereferences memslots via __kvm_memslots(),
which uses srcu_dereference_check() and requires either kvm->srcu or
kvm->slots_lock to be held. Currently only vcpu->mutex is held,
triggering lockdep warning:
=============================
WARNING: suspicious RCU usage in kvm_vcpu_gfn_to_memslot
6.12.59+ #3 Not tainted
include/linux/kvm_host.h:1062 suspicious rcu_dereference_check() usage!
other info that might help us debug this:
rcu_scheduler_active = 2, debug_locks = 1
1 lock held by syz.5.1717/15100:
#0: ff1100002f4b00b0 (&vcpu->mutex){+.+.}-{3:3}, at: kvm_vcpu_ioctl+0x1d5/0x1590
Call Trace:
<TASK>
__dump_stack lib/dump_stack.c:94 [inline]
dump_stack_lvl+0xf0/0x120 lib/dump_stack.c:120
lockdep_rcu_suspicious+0x1e3/0x270 kernel/locking/lockdep.c:6824
__kvm_memslots include/linux/kvm_host.h:1062 [inline]
__kvm_memslots include/linux/kvm_host.h:1059 [inline]
kvm_vcpu_memslots include/linux/kvm_host.h:1076 [inline]
kvm_vcpu_gfn_to_memslot+0x518/0x5e0 virt/kvm/kvm_main.c:2617
kvm_vcpu_read_guest_page+0x27/0x50 virt/kvm/kvm_main.c:3302
load_pdptrs+0xff/0x4b0 arch/x86/kvm/x86.c:1065
svm_cache_reg+0x1c9/0x230 arch/x86/kvm/svm/svm.c:1688
kvm_pdptr_read arch/x86/kvm/kvm_cache_regs.h:141 [inline]
__get_sregs2 arch/x86/kvm/x86.c:11784 [inline]
kvm_arch_vcpu_ioctl+0x3e20/0x4aa0 arch/x86/kvm/x86.c:6279
kvm_vcpu_ioctl+0x856/0x1590 virt/kvm/kvm_main.c:4663
vfs_ioctl fs/ioctl.c:51 [inline]
__do_sys_ioctl fs/ioctl.c:907 [inline]
__se_sys_ioctl fs/ioctl.c:893 [inline]
__x64_sys_ioctl+0x18b/0x210 fs/ioctl.c:893
do_syscall_x64 arch/x86/entry/common.c:52 [inline]
do_syscall_64+0xbd/0x1d0 arch/x86/entry/common.c:83
entry_SYSCALL_64_after_hwframe+0x77/0x7f
Found by Linux Verification Center (linuxtesting.org) with Syzkaller.
Security readout for executives and security teams
Plain-English summary
A synchronization flaw in Linux's x86 KVM virtualization code can access guest-memory mapping data without the required protection. The supplied CVSS assessment indicates possible confidentiality, integrity, and availability impact, but the report demonstrates a diagnostic warning rather than a successful compromise. Virtualization hosts using affected kernels deserve prompt review.
Executive priority
Treat this as a high-priority virtualization-host update, accelerating shared or multi-tenant KVM infrastructure. Scope first because non-KVM systems are unlikely to encounter the affected path. There is no supplied evidence of exploitation in the wild, so urgency should reflect exposure and workload trust boundaries rather than emergency incident assumptions.
Technical view
During __get_sregs2(), reading PDPTR registers may traverse guest memory into kvm_vcpu_gfn_to_memslot(). That function dereferences memslot data requiring kvm->srcu or slots_lock, while the reported path holds only vcpu->mutex. The stable fix adds SRCU read-side protection around PDPTR access.
Likely exposure
Exposure is limited to Linux systems using x86 KVM and an affected kernel. The source lists boundaries involving 5.14, 6.1.165, 6.6.128, 6.12.75, 6.18.16, 6.19.6, and 7.0, but their supplied encoding is ambiguous. Confirm exposure through distributor advisories or commit ancestry.
Exploitation context
No active exploitation is supported by the bundle, and the CVE is not listed as KEV. Syzkaller found the issue through a lockdep warning. CVSS describes a local, low-complexity, low-privilege attack requiring no user interaction, but the supplied evidence does not demonstrate practical exploitation or provide a public proof of concept.
Researcher notes
The affected path reaches memslot dereferencing without the synchronization required by srcu_dereference_check(). The report establishes suspicious RCU usage, not a proven security primitive. Its stack includes the SVM backend, but the supplied sources do not establish that other x86 KVM backends are unaffected. No CWE is assigned.
Mitigation direction
Update affected hosts to a distributor kernel incorporating the applicable referenced stable commit.
Confirm applicability through vendor advisories and commit ancestry; the supplied version-boundary encoding is ambiguous.
Prioritize x86 KVM hosts running untrusted or multi-tenant guests.
If patching is delayed, consult vendor guidance; the supplied sources name no temporary mitigation.
Validation and detection
Inventory running kernel releases and identify x86 systems actively using KVM.
Verify the installed kernel contains the applicable SRCU fix through vendor changelogs or commit mapping.
After updating, reboot and confirm each host is running the corrected kernel package.
Run approved virtualization regressions and monitor for related RCU or lockdep warnings.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cve · low confidence lookup
CVE-2026-43214 mapping review
Open the CVE-to-ATT&CK bridge for reviewed, inferred, or future official mappings tied to this CVE.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
1CVSS vectors
3Timeline events
0ADP providers
7Source links
CVSS vector scores
1 official score
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.