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

block: recompute nr_integrity_segments in blk_insert_cloned_request

blk_insert_cloned_request() already recomputes nr_phys_segments
against the bottom queue, because "the queue settings related to
segment counting may differ from the original queue." The exact same
reasoning applies to integrity segments: a stacked driver's underlying
queue can have tighter virt_boundary_mask, seg_boundary_mask, or
max_segment_size than the top queue, in which case
blk_rq_count_integrity_sg() against the bottom queue produces a
different count than the cached rq->nr_integrity_segments inherited
from the source request by blk_rq_prep_clone().

When the cached count is lower than the bottom queue's actual count,
blk_rq_map_integrity_sg() trips

BUG_ON(segments > rq->nr_integrity_segments);

on dispatch. The same families of stacked setups that motivated the
existing nr_phys_segments recompute -- dm-multipath fanning out to
nvme-rdma in particular -- can produce this.

Mirror the nr_phys_segments handling: when the request carries
integrity, recompute nr_integrity_segments against the bottom queue
and reject the request if it exceeds the bottom queue's
max_integrity_segments. blk_rq_count_integrity_sg() and
queue_max_integrity_segments() are both already available via
<linux/blk-integrity.h>, which blk-mq.c includes.

This closes a latent gap in the stacking contract and brings the
integrity-segment accounting in line with the existing
phys-segment accounting.
Published: 2026-07-24
Score: 9.8 Critical
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The kernel block subsystem allows cloned block requests that carry integrity data to reuse a cached integrity segment count from the source request. If that count is lower than what the underlying low‑level queue actually requires, an internal assertion triggers a BUG_ON, causing a kernel crash. The flaw does not leak data or alter state beyond the crash; it merely disrupts service when a block I/O path encounters the inconsistency, representing a contract gap between stacked drivers and queue settings.

Affected Systems

All Linux kernel builds that employ stacked block drivers with integrity support, in particular configurations such as dm‑multipath fanning into nvme‑rdma. No specific version numbers are listed, so any kernel deployment that uses these drivers may be impacted if the underlying queue constraints differ from the top queue.

Risk and Exploitability

The EPSS score is below 1%, indicating a very low likelihood of widespread exploitation at the time of this analysis. The CVSS score of 9.8 indicates critical severity. The vulnerability is not in the CISA KEV catalog. The impact is severe—any request that triggers the BUG_ON will crash the kernel and cause system‑wide denial of service. The likely attack vector is local: an attacker with permissions to perform raw block I/O or influence device requests can trigger the failing path. Despite the low external exploitation probability, the damage per successful exploit is total service interruption.

Generated by OpenCVE AI on August 13, 2026 at 14:08 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply a kernel version that incorporates the fix for CVE‑2026‑64232.
  • Configure stacked block drivers so that integrity segment limits match across queues; avoid deployments that introduce tighter segment boundaries, such as dm‑multipath to nvme‑rdma configurations that may differ in virt_boundary_mask, seg_boundary_mask, or max_segment_size.
  • Monitor system logs for BUG_ON messages or kernel panic events related to block I/O and investigate unexpected panics for potential configuration issues or the presence of the affected code path.

Generated by OpenCVE AI on August 13, 2026 at 14:08 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Ubuntu USN Ubuntu USN USN-8618-1 Linux kernel vulnerabilities
History

Thu, 13 Aug 2026 12:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-398

Wed, 12 Aug 2026 19:30:00 +0000

Type Values Removed Values Added
Weaknesses NVD-CWE-noinfo
CPEs cpe:2.3:o:linux:linux_kernel:7.1:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.1:rc2:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.1:rc3:*:*:*:*:*:*

Wed, 05 Aug 2026 01:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-398

Tue, 04 Aug 2026 15:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-398

Tue, 28 Jul 2026 16:15:00 +0000


Mon, 27 Jul 2026 05:15:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 9.8, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H'}


Sun, 26 Jul 2026 03:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-398

Fri, 24 Jul 2026 18:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: block: recompute nr_integrity_segments in blk_insert_cloned_request blk_insert_cloned_request() already recomputes nr_phys_segments against the bottom queue, because "the queue settings related to segment counting may differ from the original queue." The exact same reasoning applies to integrity segments: a stacked driver's underlying queue can have tighter virt_boundary_mask, seg_boundary_mask, or max_segment_size than the top queue, in which case blk_rq_count_integrity_sg() against the bottom queue produces a different count than the cached rq->nr_integrity_segments inherited from the source request by blk_rq_prep_clone(). When the cached count is lower than the bottom queue's actual count, blk_rq_map_integrity_sg() trips BUG_ON(segments > rq->nr_integrity_segments); on dispatch. The same families of stacked setups that motivated the existing nr_phys_segments recompute -- dm-multipath fanning out to nvme-rdma in particular -- can produce this. Mirror the nr_phys_segments handling: when the request carries integrity, recompute nr_integrity_segments against the bottom queue and reject the request if it exceeds the bottom queue's max_integrity_segments. blk_rq_count_integrity_sg() and queue_max_integrity_segments() are both already available via <linux/blk-integrity.h>, which blk-mq.c includes. This closes a latent gap in the stacking contract and brings the integrity-segment accounting in line with the existing phys-segment accounting.
Title block: recompute nr_integrity_segments in blk_insert_cloned_request
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-08-05T12:40:12.752Z

Reserved: 2026-07-19T15:36:31.771Z

Link: CVE-2026-64232

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Analyzed

Published: 2026-07-24T16:16:52.367

Modified: 2026-08-12T19:14:11.050

Link: CVE-2026-64232

cve-icon Redhat

Severity : Low

Publid Date: 2026-07-24T00:00:00Z

Links: CVE-2026-64232 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-13T14:15:05Z

Weaknesses