<?xml version='1.0' encoding='UTF-8'?>
<?xml-stylesheet href="/static/style.xsl" type="text/xsl"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/" version="2.0">
  <channel>
    <title>Most recent entries from all</title>
    <link>https://cve.radiocsirt.org</link>
    <description>Contains only the most 10 recent entries.</description>
    <docs>http://www.rssboard.org/rss-specification</docs>
    <generator>python-feedgen</generator>
    <language>en</language>
    <lastBuildDate>Thu, 08 Oct 2026 01:42:44 +0000</lastBuildDate>
    <item>
      <title>CVE-2022-49882 — KVM: Reject attempts to consume or refresh inactive gfn_to_pfn_cache</title>
      <link>https://cve.radiocsirt.org/vuln/cve-2022-49882</link>
      <description>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Linux&lt;/p&gt;
&lt;p&gt;In the Linux kernel, the following vulnerability has been resolved:&lt;/p&gt;
&lt;p&gt;KVM: Reject attempts to consume or refresh inactive gfn_to_pfn_cache&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;Note, &amp;#34;active&amp;#34; 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 &amp;#34;active&amp;#34; but not on the
list, KVM will not acquire the cache&amp;#39;s lock and so will not serailize
the mmu_notifier event with active users and/or kvm_gpc_refresh().&lt;/p&gt;
&lt;p&gt;A race between KVM_XEN_ATTR_TYPE_SHARED_INFO and KVM_XEN_HVM_EVTCHN_SEND
can be exploited to trigger the bug.&lt;/p&gt;
&lt;p&gt;1. Deactivate shinfo cache:&lt;/p&gt;
&lt;p&gt;kvm_xen_hvm_set_attr
case KVM_XEN_ATTR_TYPE_SHARED_INFO
 kvm_gpc_deactivate
  kvm_gpc_unmap
   gpc-&amp;gt;valid = false
   gpc-&amp;gt;khva = NULL
  gpc-&amp;gt;active = false&lt;/p&gt;
&lt;p&gt;Result: active = false, valid = false&lt;/p&gt;
&lt;p&gt;2. Cause cache refresh:&lt;/p&gt;
&lt;p&gt;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-&amp;gt;valid
   kvm_xen_set_evtchn_fast
    return -EWOULDBLOCK
   kvm_gpc_refresh
    hva_to_pfn_ret…&lt;/p&gt;</description>
      <content:encoded>&lt;p&gt;&lt;strong&gt;Affected:&lt;/strong&gt; Linux&lt;/p&gt;
&lt;p&gt;In the Linux kernel, the following vulnerability has been resolved:&lt;/p&gt;
&lt;p&gt;KVM: Reject attempts to consume or refresh inactive gfn_to_pfn_cache&lt;/p&gt;
&lt;p&gt;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.&lt;/p&gt;
&lt;p&gt;Note, &amp;#34;active&amp;#34; 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 &amp;#34;active&amp;#34; but not on the
list, KVM will not acquire the cache&amp;#39;s lock and so will not serailize
the mmu_notifier event with active users and/or kvm_gpc_refresh().&lt;/p&gt;
&lt;p&gt;A race between KVM_XEN_ATTR_TYPE_SHARED_INFO and KVM_XEN_HVM_EVTCHN_SEND
can be exploited to trigger the bug.&lt;/p&gt;
&lt;p&gt;1. Deactivate shinfo cache:&lt;/p&gt;
&lt;p&gt;kvm_xen_hvm_set_attr
case KVM_XEN_ATTR_TYPE_SHARED_INFO
 kvm_gpc_deactivate
  kvm_gpc_unmap
   gpc-&amp;gt;valid = false
   gpc-&amp;gt;khva = NULL
  gpc-&amp;gt;active = false&lt;/p&gt;
&lt;p&gt;Result: active = false, valid = false&lt;/p&gt;
&lt;p&gt;2. Cause cache refresh:&lt;/p&gt;
&lt;p&gt;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-&amp;gt;valid
   kvm_xen_set_evtchn_fast
    return -EWOULDBLOCK
   kvm_gpc_refresh
    hva_to_pfn_ret…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://cve.radiocsirt.org/vuln/cve-2022-49882</guid>
    </item>
  </channel>
</rss>
