Impact
The biovec_phys_mergeable() function is used by the kernel to combine physically contiguous bvec segments in block operations, DMA mapping, and integrity merge paths. It currently does not check whether the segments belong to the same dev_pagemap. When zone device memory is registered in multiple chunks, each chunk receives its own dev_pagemap and a single bio can contain bvecs from different pgmaps. If those segments are physically contiguous, biovec_phys_mergeable() will merge them, resulting in a merged segment whose underlying pagemap cannot be recovered accurately via page_pgmap(). Based on the description, it is inferred that this oversight could lead to data that should be segregated by pagemap boundaries being incorrectly combined, potentially affecting memory integrity or leaking information that belongs to another pagemap.
Affected Systems
All Linux kernel versions prior to the patch that introduces the pgmap boundary check are vulnerable. Any distribution that ships such a kernel release is affected, regardless of the vendor, because the vulnerability resides in core kernel memory handling logic.
Risk and Exploitability
The CVSS score of 9.8 indicates critical severity, and the EPSS score is less than 1%, suggesting low current exploitation probability. The vulnerability is not listed in the CISA Known Exploited Vulnerabilities catalog. Exploitation would likely require local or network access that allows an attacker to manipulate device memory mappings or craft a bio that spans different pagemap boundaries. The risk is critical, and the primary mitigation is to update the kernel to a version that includes the boundary check added by commit 13920e4b7b784b40cf4519ff1f0f3e513476a499.
OpenCVE Enrichment