7.5
HIGH CVSS 3.1
CVE-2026-53199
hv_netvsc: use kmap_local_page in netvsc_copy_to_send_buf
Description

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.

INFO

Published Date :

June 25, 2026, 9:16 a.m.

Last Modified :

July 6, 2026, 12:32 p.m.

Remotely Exploit :

Yes !

Source :

416baaa9-dc9f-4396-8d5f-8c081fb06d67
Affected Products

The following products are affected by CVE-2026-53199 vulnerability. Even if cvefeed.io is aware of the exact versions of the products that are affected, the information is not represented in the table below.

ID Vendor Product Action
1 Linux linux_kernel
CVSS Scores
The Common Vulnerability Scoring System is a standardized framework for assessing the severity of vulnerabilities in software and systems. We collect and displays CVSS scores from various sources for each CVE.
Score Version Severity Vector Exploitability Score Impact Score Source
CVSS 3.1 HIGH 416baaa9-dc9f-4396-8d5f-8c081fb06d67
Solution
Kernel fix addresses page mapping issues in netvsc_copy_to_send_buf by using kmap_local_page.
  • Apply kernel updates or patches.
  • Rebuild and deploy the Linux kernel.
  • Ensure proper page mapping is used.
  • Test the network driver functionality.
CWE - Common Weakness Enumeration

While CVE identifies specific instances of vulnerabilities, CWE categorizes the common flaws or weaknesses that can lead to vulnerabilities. CVE-2026-53199 is associated with the following CWEs:

Common Attack Pattern Enumeration and Classification (CAPEC)

Common Attack Pattern Enumeration and Classification (CAPEC) stores attack patterns, which are descriptions of the common attributes and approaches employed by adversaries to exploit the CVE-2026-53199 weaknesses.

We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).

Results are limited to the first 15 repositories due to potential performance issues.

The following list is the news that have been mention CVE-2026-53199 vulnerability anywhere in the article.

The following table lists the changes that have been made to the CVE-2026-53199 vulnerability over time.

Vulnerability history details can be useful for understanding the evolution of a vulnerability, and for identifying the most recent changes that may impact the vulnerability's severity, exploitability, or other characteristics.

  • Initial Analysis by [email protected]

    Jul. 06, 2026

    Action Type Old Value New Value
    Added CWE NVD-CWE-noinfo
    Added CPE Configuration OR *cpe:2.3:o:linux:linux_kernel:7.1:rc1:*:*:*:*:*:* *cpe:2.3:o:linux:linux_kernel:7.1:rc2:*:*:*:*:*:* *cpe:2.3:o:linux:linux_kernel:7.1:rc3:*:*:*:*:*:* *cpe:2.3:o:linux:linux_kernel:7.1:rc4:*:*:*:*:*:* *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 5.16 up to (excluding) 6.1.176 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 6.2 up to (excluding) 6.6.143 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 5.11 up to (excluding) 5.15.210 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 6.13 up to (excluding) 6.18.36 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 6.7 up to (excluding) 6.12.94 *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 6.19 up to (excluding) 7.0.13 *cpe:2.3:o:linux:linux_kernel:7.1:rc5:*:*:*:*:*:* *cpe:2.3:o:linux:linux_kernel:7.1:rc6:*:*:*:*:*:* *cpe:2.3:o:linux:linux_kernel:7.1:rc7:*:*:*:*:*:* *cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* versions from (including) 3.16 up to (excluding) 5.10.259
    Added Reference Type kernel.org: https://git.kernel.org/stable/c/004e9ecfe6c5384f9e0b2f6f6389d42ec22789af Types: Patch
    Added Reference Type kernel.org: https://git.kernel.org/stable/c/09b8a7aa5a341bb345dc492aac139525efa13515 Types: Patch
    Added Reference Type kernel.org: https://git.kernel.org/stable/c/0b38870d81ab3a04c1ab0598d9d3285f5d9d0584 Types: Patch
    Added Reference Type kernel.org: https://git.kernel.org/stable/c/16514afeb7d3d121072ba9a0b640d6c1c5507db0 Types: Patch
    Added Reference Type kernel.org: https://git.kernel.org/stable/c/695c59cf7bf707e6ff8cea01916ee50e86616933 Types: Patch
    Added Reference Type kernel.org: https://git.kernel.org/stable/c/918c0c988239aa5ab96b254e504d191af6191061 Types: Patch
    Added Reference Type kernel.org: https://git.kernel.org/stable/c/a82d4251918f37d9c5aab7b365157669fb885ec3 Types: Patch
    Added Reference Type kernel.org: https://git.kernel.org/stable/c/fe7221b4346418d27ec2daccfc09df6692b76f0b Types: Patch
  • CVE Modified by 416baaa9-dc9f-4396-8d5f-8c081fb06d67

    Jun. 28, 2026

    Action Type Old Value New Value
    Added CVSS V3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H
  • New CVE Received by 416baaa9-dc9f-4396-8d5f-8c081fb06d67

    Jun. 25, 2026

    Action Type Old Value New Value
    Added Affected [{'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': 'c25aaf814a63f9d9c4e45416f13d70ef0aa0be2e', 'lessThan': '16514afeb7d3d121072ba9a0b640d6c1c5507db0', 'versionType': 'git'}, {'status': 'affected', 'version': 'c25aaf814a63f9d9c4e45416f13d70ef0aa0be2e', 'lessThan': 'a82d4251918f37d9c5aab7b365157669fb885ec3', 'versionType': 'git'}, {'status': 'affected', 'version': 'c25aaf814a63f9d9c4e45416f13d70ef0aa0be2e', 'lessThan': '695c59cf7bf707e6ff8cea01916ee50e86616933', 'versionType': 'git'}, {'status': 'affected', 'version': 'c25aaf814a63f9d9c4e45416f13d70ef0aa0be2e', 'lessThan': '09b8a7aa5a341bb345dc492aac139525efa13515', 'versionType': 'git'}, {'status': 'affected', 'version': 'c25aaf814a63f9d9c4e45416f13d70ef0aa0be2e', 'lessThan': '918c0c988239aa5ab96b254e504d191af6191061', 'versionType': 'git'}, {'status': 'affected', 'version': 'c25aaf814a63f9d9c4e45416f13d70ef0aa0be2e', 'lessThan': '0b38870d81ab3a04c1ab0598d9d3285f5d9d0584', 'versionType': 'git'}, {'status': 'affected', 'version': 'c25aaf814a63f9d9c4e45416f13d70ef0aa0be2e', 'lessThan': 'fe7221b4346418d27ec2daccfc09df6692b76f0b', 'versionType': 'git'}, {'status': 'affected', 'version': 'c25aaf814a63f9d9c4e45416f13d70ef0aa0be2e', 'lessThan': '004e9ecfe6c5384f9e0b2f6f6389d42ec22789af', 'versionType': 'git'}], 'programFiles': ['drivers/net/hyperv/netvsc.c'], 'defaultStatus': 'unaffected'}, {'repo': 'https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git', 'vendor': 'Linux', 'product': 'Linux', 'versions': [{'status': 'affected', 'version': '3.16'}, {'status': 'unaffected', 'version': '0', 'lessThan': '3.16', 'versionType': 'semver'}, {'status': 'unaffected', 'version': '5.10.259', 'versionType': 'semver', 'lessThanOrEqual': '5.10.*'}, {'status': 'unaffected', 'version': '5.15.210', 'versionType': 'semver', 'lessThanOrEqual': '5.15.*'}, {'status': 'unaffected', 'version': '6.1.176', 'versionType': 'semver', 'lessThanOrEqual': '6.1.*'}, {'status': 'unaffected', 'version': '6.6.143', 'versionType': 'semver', 'lessThanOrEqual': '6.6.*'}, {'status': 'unaffected', 'version': '6.12.94', 'versionType': 'semver', 'lessThanOrEqual': '6.12.*'}, {'status': 'unaffected', 'version': '6.18.36', 'versionType': 'semver', 'lessThanOrEqual': '6.18.*'}, {'status': 'unaffected', 'version': '7.0.13', 'versionType': 'semver', 'lessThanOrEqual': '7.0.*'}, {'status': 'unaffected', 'version': '7.1', 'versionType': 'original_commit_for_fix', 'lessThanOrEqual': '*'}], 'programFiles': ['drivers/net/hyperv/netvsc.c'], 'defaultStatus': 'affected'}]
    Added Description 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.
    Added Reference https://git.kernel.org/stable/c/004e9ecfe6c5384f9e0b2f6f6389d42ec22789af
    Added Reference https://git.kernel.org/stable/c/09b8a7aa5a341bb345dc492aac139525efa13515
    Added Reference https://git.kernel.org/stable/c/0b38870d81ab3a04c1ab0598d9d3285f5d9d0584
    Added Reference https://git.kernel.org/stable/c/16514afeb7d3d121072ba9a0b640d6c1c5507db0
    Added Reference https://git.kernel.org/stable/c/695c59cf7bf707e6ff8cea01916ee50e86616933
    Added Reference https://git.kernel.org/stable/c/918c0c988239aa5ab96b254e504d191af6191061
    Added Reference https://git.kernel.org/stable/c/a82d4251918f37d9c5aab7b365157669fb885ec3
    Added Reference https://git.kernel.org/stable/c/fe7221b4346418d27ec2daccfc09df6692b76f0b
EPSS is a daily estimate of the probability of exploitation activity being observed over the next 30 days. Following chart shows the EPSS score history of the vulnerability.