CVE-2026-64232 (GCVE-0-2026-64232)

Vulnerability from cvelistv5 – Published: 2026-07-24 15:23 – Updated: 2026-08-05 12:40
VLAI
Title
block: recompute nr_integrity_segments in blk_insert_cloned_request
Summary
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.
Impacted products
Vendor Product Version CPE status
Linux Linux Affected: 76c313f658d2752e8527610677164aa7094ef7a5 , < 53a01bcc0242590eda4c452a5bd996f62457113b (git)
Affected: 76c313f658d2752e8527610677164aa7094ef7a5 , < 0943f81e1b3176f27dbaf6db268fc69d8a94f0ba (git)
Affected: 76c313f658d2752e8527610677164aa7094ef7a5 , < 42929c98d044f126508baf54a65b0f87f932fa75 (git)
Affected: 76c313f658d2752e8527610677164aa7094ef7a5 , < 2c6e6a18a37b905cb584eb0dda3ae482162a81ca (git)
guessed Create a notification for this product.
Linux Linux Affected: 6.12
Unaffected: 0 , < 6.12 (semver)
Unaffected: 6.12.92 , ≤ 6.12.* (semver)
Unaffected: 6.18.34 , ≤ 6.18.* (semver)
Unaffected: 7.0.11 , ≤ 7.0.* (semver)
Unaffected: 7.1 , ≤ * (original_commit_for_fix)
guessed Create a notification for this product.
Show details on NVD website

{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "block/blk-mq.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "53a01bcc0242590eda4c452a5bd996f62457113b",
              "status": "affected",
              "version": "76c313f658d2752e8527610677164aa7094ef7a5",
              "versionType": "git"
            },
            {
              "lessThan": "0943f81e1b3176f27dbaf6db268fc69d8a94f0ba",
              "status": "affected",
              "version": "76c313f658d2752e8527610677164aa7094ef7a5",
              "versionType": "git"
            },
            {
              "lessThan": "42929c98d044f126508baf54a65b0f87f932fa75",
              "status": "affected",
              "version": "76c313f658d2752e8527610677164aa7094ef7a5",
              "versionType": "git"
            },
            {
              "lessThan": "2c6e6a18a37b905cb584eb0dda3ae482162a81ca",
              "status": "affected",
              "version": "76c313f658d2752e8527610677164aa7094ef7a5",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "block/blk-mq.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.12"
            },
            {
              "lessThan": "6.12",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.12.*",
              "status": "unaffected",
              "version": "6.12.92",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.34",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.0.*",
              "status": "unaffected",
              "version": "7.0.11",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.1",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.12.92",
                  "versionStartIncluding": "6.12",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.34",
                  "versionStartIncluding": "6.12",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.0.11",
                  "versionStartIncluding": "6.12",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.1",
                  "versionStartIncluding": "6.12",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nblock: recompute nr_integrity_segments in blk_insert_cloned_request\n\nblk_insert_cloned_request() already recomputes nr_phys_segments\nagainst the bottom queue, because \"the queue settings related to\nsegment counting may differ from the original queue.\" The exact same\nreasoning applies to integrity segments: a stacked driver\u0027s underlying\nqueue can have tighter virt_boundary_mask, seg_boundary_mask, or\nmax_segment_size than the top queue, in which case\nblk_rq_count_integrity_sg() against the bottom queue produces a\ndifferent count than the cached rq-\u003enr_integrity_segments inherited\nfrom the source request by blk_rq_prep_clone().\n\nWhen the cached count is lower than the bottom queue\u0027s actual count,\nblk_rq_map_integrity_sg() trips\n\n\tBUG_ON(segments \u003e rq-\u003enr_integrity_segments);\n\non dispatch. The same families of stacked setups that motivated the\nexisting nr_phys_segments recompute -- dm-multipath fanning out to\nnvme-rdma in particular -- can produce this.\n\nMirror the nr_phys_segments handling: when the request carries\nintegrity, recompute nr_integrity_segments against the bottom queue\nand reject the request if it exceeds the bottom queue\u0027s\nmax_integrity_segments. blk_rq_count_integrity_sg() and\nqueue_max_integrity_segments() are both already available via\n\u003clinux/blk-integrity.h\u003e, which blk-mq.c includes.\n\nThis closes a latent gap in the stacking contract and brings the\nintegrity-segment accounting in line with the existing\nphys-segment accounting."
        }
      ],
      "metrics": [
        {
          "cvssV3_1": {
            "baseScore": 9.8,
            "baseSeverity": "CRITICAL",
            "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
            "version": "3.1"
          },
          "scenarios": [
            {
              "lang": "en",
              "value": "AV:N - A PI-enabled iSER or NVMe/RDMA target can expose the affected request-based dm-multipath device, allowing remote storage commands to reach the vulnerable clone-dispatch path.\nAC:L - Once the affected storage topology is configured, the attacker controls the metadata-bearing I/O requests and can trigger the segment-count mismatch repeatedly without winning an uncontrollable race.\nPR:N - Targets configured with dynamic ACLs and authentication disabled, or NVMe allow_any_host, permit unauthenticated remote initiators to issue the required I/O.\nUI:N - No victim action is required after the network storage target and affected backend are operational.\nS:U - The corruption occurs within the host kernel processing the target\u0027s block I/O and does not inherently cross a separate security authority such as a guest-host boundary.\nC:H - The undersized integrity scatterlist is populated beyond its declared bounds before the BUG_ON executes, permitting adjacent kernel-memory corruption that could be leveraged for arbitrary kernel access and disclosure.\nI:H - The out-of-bounds scatterlist writes corrupt kernel memory and may permit control-flow hijacking or arbitrary modification if the attacker shapes the surrounding allocation state.\nA:H - The post-write BUG_ON reliably causes a kernel oops or panic, and malformed requests can be submitted repeatedly to disrupt the storage target."
            }
          ]
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-08-05T12:40:12.752Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/53a01bcc0242590eda4c452a5bd996f62457113b"
        },
        {
          "url": "https://git.kernel.org/stable/c/0943f81e1b3176f27dbaf6db268fc69d8a94f0ba"
        },
        {
          "url": "https://git.kernel.org/stable/c/42929c98d044f126508baf54a65b0f87f932fa75"
        },
        {
          "url": "https://git.kernel.org/stable/c/2c6e6a18a37b905cb584eb0dda3ae482162a81ca"
        }
      ],
      "title": "block: recompute nr_integrity_segments in blk_insert_cloned_request",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-64232",
    "datePublished": "2026-07-24T15:23:13.729Z",
    "dateReserved": "2026-07-19T15:36:31.771Z",
    "dateUpdated": "2026-08-05T12:40:12.752Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2",
  "vulnerability-lookup:meta": {
    "epss": {
      "cve": "CVE-2026-64232",
      "date": "2026-09-21",
      "epss": "0.00457",
      "percentile": "0.38851"
    },
    "nvd": {
      "cve": {
        "affected": [
          {
            "affectedData": [
              {
                "defaultStatus": "unaffected",
                "product": "Linux",
                "programFiles": [
                  "block/blk-mq.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "lessThan": "53a01bcc0242590eda4c452a5bd996f62457113b",
                    "status": "affected",
                    "version": "76c313f658d2752e8527610677164aa7094ef7a5",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "0943f81e1b3176f27dbaf6db268fc69d8a94f0ba",
                    "status": "affected",
                    "version": "76c313f658d2752e8527610677164aa7094ef7a5",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "42929c98d044f126508baf54a65b0f87f932fa75",
                    "status": "affected",
                    "version": "76c313f658d2752e8527610677164aa7094ef7a5",
                    "versionType": "git"
                  },
                  {
                    "lessThan": "2c6e6a18a37b905cb584eb0dda3ae482162a81ca",
                    "status": "affected",
                    "version": "76c313f658d2752e8527610677164aa7094ef7a5",
                    "versionType": "git"
                  }
                ]
              },
              {
                "defaultStatus": "affected",
                "product": "Linux",
                "programFiles": [
                  "block/blk-mq.c"
                ],
                "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
                "vendor": "Linux",
                "versions": [
                  {
                    "status": "affected",
                    "version": "6.12"
                  },
                  {
                    "lessThan": "6.12",
                    "status": "unaffected",
                    "version": "0",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.12.*",
                    "status": "unaffected",
                    "version": "6.12.92",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "6.18.*",
                    "status": "unaffected",
                    "version": "6.18.34",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "7.0.*",
                    "status": "unaffected",
                    "version": "7.0.11",
                    "versionType": "semver"
                  },
                  {
                    "lessThanOrEqual": "*",
                    "status": "unaffected",
                    "version": "7.1",
                    "versionType": "original_commit_for_fix"
                  }
                ]
              }
            ],
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67"
          }
        ],
        "configurations": [
          {
            "nodes": [
              {
                "cpeMatch": [
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                    "matchCriteriaId": "9574AA5E-61DC-4F38-82BC-69F89AA7593C",
                    "versionEndExcluding": "6.12.92",
                    "versionStartIncluding": "6.12",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                    "matchCriteriaId": "A4B1EF6D-18D7-4838-BC37-7499D5DCC3C0",
                    "versionEndExcluding": "6.18.34",
                    "versionStartIncluding": "6.13",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                    "matchCriteriaId": "0520D091-FC52-4A50-AF07-70AE7D08B750",
                    "versionEndExcluding": "7.0.11",
                    "versionStartIncluding": "6.19",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:7.1:rc1:*:*:*:*:*:*",
                    "matchCriteriaId": "B1EF7059-E670-45F4-B422-54C40FA86390",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:7.1:rc2:*:*:*:*:*:*",
                    "matchCriteriaId": "0D38F0BF-A728-4133-A358-D44A2F7EE6D6",
                    "vulnerable": true
                  },
                  {
                    "criteria": "cpe:2.3:o:linux:linux_kernel:7.1:rc3:*:*:*:*:*:*",
                    "matchCriteriaId": "EC732D08-5F7B-46D9-B154-E60C7F4F0A97",
                    "vulnerable": true
                  }
                ],
                "negate": false,
                "operator": "OR"
              }
            ]
          }
        ],
        "cveTags": [],
        "descriptions": [
          {
            "lang": "en",
            "value": "In the Linux kernel, the following vulnerability has been resolved:\n\nblock: recompute nr_integrity_segments in blk_insert_cloned_request\n\nblk_insert_cloned_request() already recomputes nr_phys_segments\nagainst the bottom queue, because \"the queue settings related to\nsegment counting may differ from the original queue.\" The exact same\nreasoning applies to integrity segments: a stacked driver\u0027s underlying\nqueue can have tighter virt_boundary_mask, seg_boundary_mask, or\nmax_segment_size than the top queue, in which case\nblk_rq_count_integrity_sg() against the bottom queue produces a\ndifferent count than the cached rq-\u003enr_integrity_segments inherited\nfrom the source request by blk_rq_prep_clone().\n\nWhen the cached count is lower than the bottom queue\u0027s actual count,\nblk_rq_map_integrity_sg() trips\n\n\tBUG_ON(segments \u003e rq-\u003enr_integrity_segments);\n\non dispatch. The same families of stacked setups that motivated the\nexisting nr_phys_segments recompute -- dm-multipath fanning out to\nnvme-rdma in particular -- can produce this.\n\nMirror the nr_phys_segments handling: when the request carries\nintegrity, recompute nr_integrity_segments against the bottom queue\nand reject the request if it exceeds the bottom queue\u0027s\nmax_integrity_segments. blk_rq_count_integrity_sg() and\nqueue_max_integrity_segments() are both already available via\n\u003clinux/blk-integrity.h\u003e, which blk-mq.c includes.\n\nThis closes a latent gap in the stacking contract and brings the\nintegrity-segment accounting in line with the existing\nphys-segment accounting."
          }
        ],
        "id": "CVE-2026-64232",
        "lastModified": "2026-08-12T19:14:11.050",
        "metrics": {
          "cvssMetricV31": [
            {
              "cvssData": {
                "attackComplexity": "LOW",
                "attackVector": "NETWORK",
                "availabilityImpact": "HIGH",
                "baseScore": 9.8,
                "baseSeverity": "CRITICAL",
                "confidentialityImpact": "HIGH",
                "integrityImpact": "HIGH",
                "privilegesRequired": "NONE",
                "scope": "UNCHANGED",
                "userInteraction": "NONE",
                "vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H",
                "version": "3.1"
              },
              "exploitabilityScore": 3.9,
              "impactScore": 5.9,
              "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
              "type": "Secondary"
            }
          ]
        },
        "published": "2026-07-24T16:16:52.367",
        "references": [
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/0943f81e1b3176f27dbaf6db268fc69d8a94f0ba"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/2c6e6a18a37b905cb584eb0dda3ae482162a81ca"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/42929c98d044f126508baf54a65b0f87f932fa75"
          },
          {
            "source": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
            "tags": [
              "Patch"
            ],
            "url": "https://git.kernel.org/stable/c/53a01bcc0242590eda4c452a5bd996f62457113b"
          }
        ],
        "sourceIdentifier": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "vulnStatus": "Analyzed",
        "weaknesses": [
          {
            "description": [
              {
                "lang": "en",
                "value": "NVD-CWE-noinfo"
              }
            ],
            "source": "nvd@nist.gov",
            "type": "Primary"
          }
        ]
      }
    },
    "redhat_vex": {
      "aggregate_severity": "Low",
      "current_release_date": "2026-08-13T16:55:27+00:00",
      "cve": "CVE-2026-64232",
      "id": "CVE-2026-64232",
      "initial_release_date": "2026-07-24T00:00:00+00:00",
      "product_status:known_affected": "184",
      "product_status:known_not_affected": "90",
      "source": "Red Hat CSAF VEX",
      "status": "final",
      "title": "kernel: Linux kernel: Denial of Service in block subsystem due to incorrect integrity segment recomputation.",
      "url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-64232.json",
      "version": "3"
    },
    "suse_vex": {
      "aggregate_severity": "important",
      "current_release_date": "2026-09-10T02:26:19Z",
      "cve": "CVE-2026-64232",
      "id": "CVE-2026-64232",
      "initial_release_date": "2026-07-25T00:14:02Z",
      "product_status:known_affected": "17",
      "product_status:known_not_affected": "347",
      "source": "SUSE CSAF VEX",
      "status": "interim",
      "title": "SUSE CVE CVE-2026-64232",
      "url": "https://ftp.suse.com/pub/projects/security/csaf-vex/cve-2026-64232.json",
      "version": "6"
    }
  }
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…

Related by attack behaviour

Vulnerabilities whose description is nearest to this one in the vector space of the CIRCL/vulnerability-attack-technique-biencoder model. This is a similarity search over the bi-encoder space (plain cosine), not a classification, and it has no measured accuracy.


Loading…