CVE-2026-46115: Linux kernel · block: add pgmap check to biovec_phys_mergeable
Affects Linux kernelSource CVE Database V5
Not known to be exploited · CVSS 9.8 Critical · fixed in f632dab4b841554cd6416058c61886d7db176581 : patch Linux kernel as a priority.
Data as of 26 Oct 2026, 17:30 UTC
- EPSS
- 0.4% chance of exploitation in 30 days – higher than 41% of CVEsExploit Prediction Scoring System: the likelihood attackers will use this flaw soon.
- CISA SSVC
- Exploitation
- No evidence of active exploitation and no public proof of concept
- Automatable
- Attackers can reliably automate steps 1–4 of the kill chain
- Technical impact
- Total control over the software or total information disclosure
CISA SSVC assessment, 2026-10-16.
- Patch
- Available – fixed in f632dab4b841554cd6416058c61886d7db176581, f17d521075325b8afc42d1baa1c28a5e9aca111f, a7f3aa8c9df3905fe820ae36b67ba56b81587574 +2
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HExploitation evidence
Disclosed: evidence found.
CVE published 28 May 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponised: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 26 Oct 2026.
What to do
Upgrade to a fixed release listed under Affected software.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| LinuxLinux | Affected
| Fixed in
|
| LinuxLinux | Affected
| Fixed in
|
| LinuxLinux | Affected
| Fixed in
|
| LinuxLinux | Affected
| Fixed in
|
| LinuxLinux | Affected
| Fixed in
|
| LinuxLinux | Affected
| Fixed in– |
Description
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.
References
- git.kernel.org/stable/c/3d2ecbd444b01d6500671d1a582b7393943cf539 (opens in a new tab)
- git.kernel.org/stable/c/a7f3aa8c9df3905fe820ae36b67ba56b81587574 (opens in a new tab)
- git.kernel.org/stable/c/f17d521075325b8afc42d1baa1c28a5e9aca111f (opens in a new tab)
- git.kernel.org/stable/c/f632dab4b841554cd6416058c61886d7db176581 (opens in a new tab)
- git.kernel.org/stable/c/13920e4b7b784b40cf4519ff1f0f3e513476a499 (opens in a new tab)