CVE-2022-49882: KVM: Reject attempts to consume or refresh inactive gfn_to_pfn_cache
In the Linux kernel, the following vulnerability has been resolved:
KVM: Reject attempts to consume or refresh inactive gfn_to_pfn_cache
Reject kvm_gpc_check() and kvm_gpc_refresh() if the cache is inactive.
Not checking the active flag during refresh is particularly egregious, as
KVM can end up with a valid, inactive cache, which can lead to a variety
of use-after-free bugs, e.g. consuming a NULL kernel pointer or missing
an mmu_notifier invalidation due to the cache not being on the list of
gfns to invalidate.
Note, "active" needs to be set if and only if the cache is on the list
of caches, i.e. is reachable via mmu_notifier events. If a relevant
mmu_notifier event occurs while the cache is "active" but not on the
list, KVM will not acquire the cache's lock and so will not serailize
the mmu_notifier event with active users and/or kvm_gpc_refresh().
A race between KVM_XEN_ATTR_TYPE_SHARED_INFO and KVM_XEN_HVM_EVTCHN_SEND
can be exploited to trigger the bug.
1. Deactivate shinfo cache:
kvm_xen_hvm_set_attr
case KVM_XEN_ATTR_TYPE_SHARED_INFO
kvm_gpc_deactivate
kvm_gpc_unmap
gpc->valid = false
gpc->khva = NULL
gpc->active = false
Result: active = false, valid = false
2. Cause cache refresh:
kvm_arch_vm_ioctl
case KVM_XEN_HVM_EVTCHN_SEND
kvm_xen_hvm_evtchn_send
kvm_xen_set_evtchn
kvm_xen_set_evtchn_fast
kvm_gpc_check
return -EWOULDBLOCK because !gpc->valid
kvm_xen_set_evtchn_fast
return -EWOULDBLOCK
kvm_gpc_refresh
hva_to_pfn_retry
gpc->valid = true
gpc->khva = not NULL
Result: active = false, valid = true
3. Race ioctl KVM_XEN_HVM_EVTCHN_SEND against ioctl
KVM_XEN_ATTR_TYPE_SHARED_INFO:
kvm_arch_vm_ioctl
case KVM_XEN_HVM_EVTCHN_SEND
kvm_xen_hvm_evtchn_send
kvm_xen_set_evtchn
kvm_xen_set_evtchn_fast
read_lock gpc->lock
kvm_xen_hvm_set_attr case
KVM_XEN_ATTR_TYPE_SHARED_INFO
mutex_lock kvm->lock
kvm_xen_shared_info_init
kvm_gpc_activate
gpc->khva = NULL
kvm_gpc_check
[ Check passes because gpc->valid is
still true, even though gpc->khva
is already NULL. ]
shinfo = gpc->khva
pending_bits = shinfo->evtchn_pending
CRASH: test_and_set_bit(..., pending_bits)
Security readout for executives and security teams
Plain-English summary
CVE-2022-49882 is a Linux KVM flaw where an inactive guest frame cache could still be refreshed or used. In the documented race, KVM can reach invalid kernel memory and crash. The source does not provide CVSS, confirmed real-world exploitation, or a complete vendor advisory beyond kernel stable fixes.
Executive priority
Treat as a virtualization-host reliability and isolation concern. Prioritize patch validation on KVM hosts, especially shared or multi-tenant environments, but do not label it as actively exploited based on the provided evidence.
Technical view
KVM failed to reject kvm_gpc_check() and kvm_gpc_refresh() when gfn_to_pfn_cache was inactive. A KVM Xen shared-info/event-channel race can leave the cache inactive but valid, then dereference a NULL khva or miss MMU notifier invalidation, producing use-after-free style failures or crash behavior.
Likely exposure
Exposure appears limited to Linux systems running affected KVM code paths, especially where KVM Xen HVM shared-info and event-channel functionality is reachable. The bundle lists Linux kernel version data but does not provide distribution package names or a complete affected-version matrix.
Exploitation context
The source says a race between two KVM Xen-related ioctls can be exploited to trigger the bug. KEV is false, and the bundle provides no evidence of active exploitation in the wild or public weaponized exploit use.
Researcher notes
The record centers on cache active-state validation in KVM gfn_to_pfn_cache handling. Impact evidence in the bundle supports crash and use-after-free class risk, but not a proven privilege escalation outcome or exploit maturity beyond the described race trigger.
Mitigation direction
Apply Linux kernel stable updates containing the referenced fixes.
Check distribution kernel advisories for backported KVM fixes.
Prioritize hosts running virtualization workloads with KVM Xen features.
Review vendor guidance before disabling functionality in production.
Validation and detection
Inventory virtualization hosts and record running kernel versions.
Confirm whether KVM and KVM Xen HVM functionality are enabled.
Map installed kernels against distribution advisories for this CVE.
Verify patched kernels include the referenced stable commits.
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-2022-49882 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
3Source 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 1, 2025, 14:10 UTC (UTC+00:00)
CVE updatedCVE Program
The CVE record metadata indicates this as the latest update time.