CVE Catalog

CVE-2025-38314

HighCVSS 7.3
Published: Updated: Translated: NVD NIST

Exploitation Probability (EPSS)

Low risk
0.13%

3th percentile - higher than 3% of all known CVEs

Summary

In the Linux virtio-pci driver, virtio_pci_admin_dev_parts_get() returns a result size 8 bytes too large because it includes extra status bytes from virtqueue_get_buf(). This causes errors during live migration and potential out-of-bounds reads.

Risk Assessment

An attacker could exploit this vulnerability for data leaks or system crashes during virtual machine migration with virtio devices.

Recommendation

Apply the Linux kernel patch that subtracts the status size from the virtqueue_get_buf() result in virtio_pci_admin_dev_parts_get().

Other vulnerabilities in Linux kernel

See all
Original NVD description (English source)

In the Linux kernel, the following vulnerability has been resolved: virtio-pci: Fix result size returned for the admin command completion The result size returned by virtio_pci_admin_dev_parts_get() is 8 bytes larger than the actual result data size. This occurs because the result_sg_size field of the command is filled with the result length from virtqueue_get_buf(), which includes both the data size and an additional 8 bytes of status. This oversized result size causes two issues: 1. The state transferred to the destination includes 8 bytes of extra data at the end. 2. The allocated buffer in the kernel may be smaller than the returned size, leading to failures when reading beyond the allocated size. The commit fixes this by subtracting the status size from the result of virtqueue_get_buf(). This fix has been tested through live migrations with virtio-net, virtio-net-transitional, and virtio-blk devices.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS