CVE-2026-46147: KVM: arm64: Fix pin leak and publication ordering in __pkvm_init_vcpu()
In the Linux kernel, the following vulnerability has been resolved:
KVM: arm64: Fix pin leak and publication ordering in __pkvm_init_vcpu()
Two bugs exist in the vCPU initialisation path:
1. If a check fails after hyp_pin_shared_mem() succeeds, the cleanup
path jumps to 'unlock' without calling unpin_host_vcpu() or
unpin_host_sve_state(), permanently leaking pin references on the
host vCPU and SVE state pages.
Extract a register_hyp_vcpu() helper that performs the checks and
the store. When register_hyp_vcpu() returns an error, call
unpin_host_vcpu() and unpin_host_sve_state() inline before falling
through to the existing 'unlock' label.
2. register_hyp_vcpu() publishes the new vCPU pointer into
'hyp_vm->vcpus[]' with a bare store, allowing a concurrent caller
of pkvm_load_hyp_vcpu() to observe a partially initialised vCPU
object.
Ensure the store uses smp_store_release() and the load uses
smp_load_acquire(). While 'vm_table_lock' currently serialises the
store and the load, these barriers ensure the reader sees the fully
initialised 'hyp_vcpu' object even if there were a lockless path or
if the lock's own ordering guarantees were insufficient for nested
object initialization.
Security readout for executives and security teams
Plain-English summary
This is a Linux kernel issue in ARM64 KVM protected virtualization setup. A failed vCPU initialization can leak pinned memory references, and a concurrent path could see a vCPU before initialization is fully published. Business risk is mainly to ARM64 virtualization hosts; severity is not provided in the sources.
Executive priority
Treat as a kernel maintenance priority for ARM64 virtualization infrastructure. Escalate above routine patching only if affected hosts run sensitive or multi-tenant workloads, because public severity and exploitation evidence are not provided.
Technical view
CVE-2026-46147 fixes two pKVM __pkvm_init_vcpu() bugs: missing unpin cleanup after hyp_pin_shared_mem() success on later failure, and publication of hyp_vm->vcpus[] with a bare store. The fix adds cleanup on register failure and uses release/acquire ordering for vCPU pointer publication and loading.
Likely exposure
Exposure appears limited to Linux ARM64 systems using KVM/pKVM virtualization on affected kernel versions or unpatched downstream backports. Non-ARM64 systems and hosts not using KVM are less likely to be exposed based on the described code path.
Exploitation context
The provided sources do not report active exploitation, KEV listing, exploit availability, CVSS, or attacker prerequisites. The described impact is kernel resource pin leakage and possible observation of partially initialized vCPU state during concurrent access.
Researcher notes
The sources identify a cleanup bug causing leaked pin references and a memory-ordering bug around hyp_vm->vcpus[] publication. The record does not provide CVSS, CWE, exploitability analysis, or concrete impact beyond the kernel patch description.
Mitigation direction
Apply Linux kernel updates containing the referenced stable fixes or downstream backports.
Check distribution advisories for affected ARM64 KVM kernel packages.
Prioritize ARM64 virtualization hosts running pKVM or protected KVM workloads.
If patch timing is unclear, follow vendor guidance for temporary risk reduction.
Validation and detection
Inventory ARM64 Linux virtualization hosts and current kernel package versions.
Confirm whether KVM or pKVM is enabled on those hosts.
Verify installed kernels include the referenced stable commits or vendor backports.
Review kernel vendor advisories for version-specific affected and fixed ranges.
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-46147 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.
0CVSS vectors
3Timeline events
0ADP providers
4Source links
Vulnerability timeline
Timeline events are normalized from CVE metadata, CNA source timelines, ADP timelines, and KEV metadata when present.
CVE reservedCVE Program
The CVE ID was reserved by the assigning CNA.
CVE publishedCVE Program
The CVE record was published.
May 28, 2026, 09:36 UTC (UTC+00:00)
CVE updatedCVE Program
The CVE record metadata indicates this as the latest update time.