CVE-2026-53199CWE-476

CVE-2026-53199

High · published June 25, 2026

CVSS v3.1
7.5
EPSS
1%
Percentile
42.0
In the wild
Unconfirmed
What it is

In the Linux kernel, the following vulnerability has been resolved:

hv_netvsc: use kmap_local_page in netvsc_copy_to_send_buf

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'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.

Map the pages with kmap_local_page() instead, handling two properties

of the page buffer entries:

- 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 > HV_HYP_PAGE_SIZE (e.g. arm64 with 64K pages).

- Since commit 41a6328b2c55 ("hv_netvsc: Preserve contiguous PFN

grouping in the page buffer array"), 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.

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 header is copied. So entries here are bounded by the

section size and a copy is split at most once on 4K-page systems. On

!CONFIG_HIGHMEM configs kmap_local_page() folds to page_address() and

no mapping work is added.

The record
Technical detail
CVSS v3.1
7.5 · HIGH
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00501 · 42.0th percentile
Weakness
CWE-476 · NULL Pointer Dereference
Published
2026-06-25T13:16Z
Affected products (14)
ProductVersionsFixed in
linux/linux_kernel≥ 3.16, < 5.10.2595.10.259
linux/linux_kernel≥ 5.11, < 5.15.2105.15.210
linux/linux_kernel≥ 5.16, < 6.1.1766.1.176
linux/linux_kernel≥ 6.2, < 6.6.1436.6.143
linux/linux_kernel≥ 6.7, < 6.12.946.12.94
linux/linux_kernel≥ 6.13, < 6.18.366.18.36
linux/linux_kernel≥ 6.19, < 7.0.137.0.13
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
References (8)
EPSS history
Timeline
  • 25 JUN 08:39Z
    hv_netvsc: use kmap_local_page in netvsc_copy_to_send_buf
    cvelistv5