<?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://db.gcve.eu</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>Sat, 03 Oct 2026 02:02:24 +0000</lastBuildDate>
    <item>
      <title>CVE-2026-53199 — hv_netvsc: use kmap_local_page in netvsc_copy_to_send_buf</title>
      <link>https://db.gcve.eu/vuln/cve-2026-53199</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;hv_netvsc: use kmap_local_page in netvsc_copy_to_send_buf&lt;/p&gt;
&lt;p&gt;netvsc_copy_to_send_buf() copies page buffer entries into the VMBus
send buffer using phys_to_virt() on the entry PFN. Entries for the
RNDIS header and the skb linear data come from kmalloc&amp;#39;d memory and
are always in the kernel direct map, but entries for skb fragments
reference page cache or user pages, which on 32-bit x86 with
CONFIG_HIGHMEM=y can live above the LOWMEM boundary. For such a page
phys_to_virt() returns an address outside the direct map and the
subsequent memcpy() faults on the transmit softirq path, which is
fatal.&lt;/p&gt;
&lt;p&gt;Map the pages with kmap_local_page() instead, handling two properties
of the page buffer entries:&lt;/p&gt;
&lt;p&gt;- pb[i].pfn is a Hyper-V PFN at HV_HYP_PAGE_SIZE (4K) granularity,
   not a native PFN. Reconstruct the physical address first and derive
   the native page from it, so the mapping stays correct where
   PAGE_SIZE &amp;gt; HV_HYP_PAGE_SIZE (e.g. arm64 with 64K pages).&lt;/p&gt;
&lt;p&gt;- Since commit 41a6328b2c55 (&amp;#34;hv_netvsc: Preserve contiguous PFN
   grouping in the page buffer array&amp;#34;), an entry describes a full
   physically contiguous fragment and pb[i].len can exceed PAGE_SIZE,
   while kmap_local_page() maps a single page. Copy page by page,
   splitting at native page boundaries.&lt;/p&gt;
&lt;p&gt;The copy path only handles packets smaller than the send section size
(6144 bytes by default); larger packets take the cp_partial path where
only the RNDIS head…&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;hv_netvsc: use kmap_local_page in netvsc_copy_to_send_buf&lt;/p&gt;
&lt;p&gt;netvsc_copy_to_send_buf() copies page buffer entries into the VMBus
send buffer using phys_to_virt() on the entry PFN. Entries for the
RNDIS header and the skb linear data come from kmalloc&amp;#39;d memory and
are always in the kernel direct map, but entries for skb fragments
reference page cache or user pages, which on 32-bit x86 with
CONFIG_HIGHMEM=y can live above the LOWMEM boundary. For such a page
phys_to_virt() returns an address outside the direct map and the
subsequent memcpy() faults on the transmit softirq path, which is
fatal.&lt;/p&gt;
&lt;p&gt;Map the pages with kmap_local_page() instead, handling two properties
of the page buffer entries:&lt;/p&gt;
&lt;p&gt;- pb[i].pfn is a Hyper-V PFN at HV_HYP_PAGE_SIZE (4K) granularity,
   not a native PFN. Reconstruct the physical address first and derive
   the native page from it, so the mapping stays correct where
   PAGE_SIZE &amp;gt; HV_HYP_PAGE_SIZE (e.g. arm64 with 64K pages).&lt;/p&gt;
&lt;p&gt;- Since commit 41a6328b2c55 (&amp;#34;hv_netvsc: Preserve contiguous PFN
   grouping in the page buffer array&amp;#34;), an entry describes a full
   physically contiguous fragment and pb[i].len can exceed PAGE_SIZE,
   while kmap_local_page() maps a single page. Copy page by page,
   splitting at native page boundaries.&lt;/p&gt;
&lt;p&gt;The copy path only handles packets smaller than the send section size
(6144 bytes by default); larger packets take the cp_partial path where
only the RNDIS head…&lt;/p&gt;</content:encoded>
      <guid isPermaLink="false">https://db.gcve.eu/vuln/cve-2026-53199</guid>
    </item>
  </channel>
</rss>
