<?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://vulnerability.circl.lu</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>Wed, 30 Sep 2026 08:27:38 +0000</lastBuildDate>
    <item>
      <title>CVE-2022-50257 — xen/gntdev: Prevent leaking grants</title>
      <link>https://vulnerability.circl.lu/vuln/cve-2022-50257</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;xen/gntdev: Prevent leaking grants&lt;/p&gt;
&lt;p&gt;Prior to this commit, if a grant mapping operation failed partially,
some of the entries in the map_ops array would be invalid, whereas all
of the entries in the kmap_ops array would be valid. This in turn would
cause the following logic in gntdev_map_grant_pages to become invalid:&lt;/p&gt;
&lt;p&gt;for (i = 0; i &amp;lt; map-&amp;gt;count; i++) {
    if (map-&amp;gt;map_ops[i].status == GNTST_okay) {
      map-&amp;gt;unmap_ops[i].handle = map-&amp;gt;map_ops[i].handle;
      if (!use_ptemod)
        alloced++;
    }
    if (use_ptemod) {
      if (map-&amp;gt;kmap_ops[i].status == GNTST_okay) {
        if (map-&amp;gt;map_ops[i].status == GNTST_okay)
          alloced++;
        map-&amp;gt;kunmap_ops[i].handle = map-&amp;gt;kmap_ops[i].handle;
      }
    }
  }
  ...
  atomic_add(alloced, &amp;amp;map-&amp;gt;live_grants);&lt;/p&gt;
&lt;p&gt;Assume that use_ptemod is true (i.e., the domain mapping the granted
pages is a paravirtualized domain). In the code excerpt above, note that
the &amp;#34;alloced&amp;#34; variable is only incremented when both kmap_ops[i].status
and map_ops[i].status are set to GNTST_okay (i.e., both mapping
operations are successful).  However, as also noted above, there are
cases where a grant mapping operation fails partially, breaking the
assumption of the code excerpt above.&lt;/p&gt;
&lt;p&gt;The aforementioned causes map-&amp;gt;live_grants to be incorrectly set. In
some cases, all of the map_ops mappings fail, but all of the kmap_ops
mappings succeed, meaning that live_grants may remain z…&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;xen/gntdev: Prevent leaking grants&lt;/p&gt;
&lt;p&gt;Prior to this commit, if a grant mapping operation failed partially,
some of the entries in the map_ops array would be invalid, whereas all
of the entries in the kmap_ops array would be valid. This in turn would
cause the following logic in gntdev_map_grant_pages to become invalid:&lt;/p&gt;
&lt;p&gt;for (i = 0; i &amp;lt; map-&amp;gt;count; i++) {
    if (map-&amp;gt;map_ops[i].status == GNTST_okay) {
      map-&amp;gt;unmap_ops[i].handle = map-&amp;gt;map_ops[i].handle;
      if (!use_ptemod)
        alloced++;
    }
    if (use_ptemod) {
      if (map-&amp;gt;kmap_ops[i].status == GNTST_okay) {
        if (map-&amp;gt;map_ops[i].status == GNTST_okay)
          alloced++;
        map-&amp;gt;kunmap_ops[i].handle = map-&amp;gt;kmap_ops[i].handle;
      }
    }
  }
  ...
  atomic_add(alloced, &amp;amp;map-&amp;gt;live_grants);&lt;/p&gt;
&lt;p&gt;Assume that use_ptemod is true (i.e., the domain mapping the granted
pages is a paravirtualized domain). In the code excerpt above, note that
the &amp;#34;alloced&amp;#34; variable is only incremented when both kmap_ops[i].status
and map_ops[i].status are set to GNTST_okay (i.e., both mapping
operations are successful).  However, as also noted above, there are
cases where a grant mapping operation fails partially, breaking the
assumption of the code excerpt above.&lt;/p&gt;
&lt;p&gt;The aforementioned causes map-&amp;gt;live_grants to be incorrectly set. In
some cases, all of the map_ops mappings fail, but all of the kmap_ops
mappings succeed, meaning that live_grants may remain z…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://vulnerability.circl.lu/vuln/cve-2022-50257</guid>
    </item>
  </channel>
</rss>
