CVE-2026-46115CWE-20

CVE-2026-46115

Critical · published May 28, 2026

CVSS v3.1
9.8
EPSS
0%
Percentile
41.2
In the wild
Unconfirmed
What it is

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

block: add pgmap check to biovec_phys_mergeable

biovec_phys_mergeable() is used by the request merge, DMA mapping,

and integrity merge paths to decide if two physically contiguous

bvec segments can be coalesced into one. It currently has no check

for whether the segments belong to different dev_pagemaps.

When zone device memory is registered in multiple chunks, each chunk

gets its own dev_pagemap. A single bio can legitimately contain

bvecs from different pgmaps -- iov_iter_extract_bvecs() breaks at

pgmap boundaries but the outer loop in bio_iov_iter_get_pages()

continues filling the same bio. If such bvecs are physically

contiguous, biovec_phys_mergeable() will coalesce them, making it

impossible to recover the correct pgmap for the merged segment

via page_pgmap().

Add a zone_device_pages_have_same_pgmap() check to prevent merging

bvec segments that span different pgmaps.

The record
Technical detail
CVSS v3.1
9.8 · CRITICAL
Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
CVSS v4.0
Not supplied
EPSS
0.00491 · 41.2th percentile
Weakness
CWE-20 · Improper Input Validation
Published
2026-05-28T14:16Z
Affected products (4)
ProductVersionsFixed in
linux/linux_kernel≥ 6.2, < 6.6.1406.6.140
linux/linux_kernel≥ 6.7, < 6.12.886.12.88
linux/linux_kernel≥ 6.13, < 6.18.306.18.30
linux/linux_kernel≥ 6.19, < 7.0.77.0.7
References (5)
EPSS history
Timeline
  • 28 MAY 09:35Z
    block: add pgmap check to biovec_phys_mergeable
    cvelistv5