CVE-2025-38375
kernel: virtio-net: ensure the received length does not exceed allocated size
Severity
ModerateRed Hat Product Security
CVSS 3.1
Review impact separately from score.
Published · July 25, 2025
Updated · August 19, 2026
Description
A flaw was found in the Linux kernel's virtio-net component. This vulnerability, specifically an out-of-bounds read in the xdp_linearize_page function, occurs due to missing checks on the received buffer length. A malicious or compromised host/hypervisor can exploit this by providing an invalid buffer length. This can lead to sensitive memory disclosure or a denial of service (DoS) within the guest kernel.
Statement
This vulnerability arises from missing bounds checks in xdp_linearize_page(), which can lead to an out-of-bounds read if the virtio-backend provides an invalid buffer length. The issue can be triggered by a malicious or compromised host/hypervisor that controls the virtqueue, resulting in memory disclosure or denial-of-service within the guest kernel.
The CVSS vector uses AV:A (Adjacent Network) rather than AV:N, because the attack requires control of the local virtio communication channel between host and guest rather than being launched over an arbitrary external network. This reflects that the threat originates from an adjacent execution environment (e.g., host, co-tenant, or hypervisor component) rather than a remote Internet attacker.
The issue is rated PR:H because only privileged control of the virtio-net device (e.g., by the hypervisor or a privileged host process) can supply crafted buffers to reach the flawed code path, making it inaccessible to unprivileged guest users or remote attackers.
CVSS score applicability
The CVSS score(s) listed for this vulnerability do not reflect the associated product's status, and are included for informational purposes to better understand the severity of this vulnerability.
Mitigation
To mitigate this issue, prevent module virtio_net from being loaded. Please see https://access.redhat.com/solutions/41278 for how to blacklist a kernel module to prevent it from loading automatically.
CVSS / CWE
CVSS 3.1 · 5.2CVSS:3.1/AV:A/AC:L/PR:H/UI:N/S:U/C:L/I:N/A:H
CWE-125 · Out-of-bounds Read