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

dm-integrity: fix infinite loop on discard with large tag size

When integrity_metadata handles a discard, it fills a buffer with
DISCARD_FILLER and writes it over the tags, max_blocks blocks at a
time. If the kmalloc fails, the buffer is the on-stack array
checksums_onstack and max_size is set to HASH_MAX_DIGESTSIZE. So if the
tag size is larger than HASH_MAX_DIGESTSIZE, max_blocks is zero, bi_size
is never decremented and the loop never terminates.

Fix this by using sizeof(checksums_onstack) as max_size. The array has
MAX_TAG_SIZE bytes since commit b93b6643e9b5 ("dm integrity: fix a
crash with unusually large tag size"), so max_blocks is at least 1.
Published: 2026-10-28
Score: n/a
EPSS: n/a
KEV: No
Impact: Denial of Service
Action: Immediate Patch
AI Analysis

Impact

The kernel device‑mapper integrity module processes discard requests by writing a filler buffer across tags, blocks at a time. When the buffer allocation fails, the module incorrectly sets the maximum block size to HASH_MAX_DIGESTSIZE; if the configured tag size exceeds that value, the block counter never decrements, causing an infinite loop and a system hang. This flaw can be exercised by any discard operation that triggers the logic with a large tag size, leading to a pure denial of service without data loss.

Affected Systems

All Linux kernel installations that enable the dm-integrity subsystem with tag sizes larger than HASH_MAX_DIGESTSIZE are potentially affected. The vulnerability is fixed by a kernel commit that adjusts the calculation of the maximum block size to use the actual on‑stack array size. Therefore, any kernel version prior to that commit on which the device‑mapper is enabled with large tags is vulnerable.

Risk and Exploitability

Based on the description, it is inferred that the attacker would need to issue a discard command on the target device, which typically requires local or privileged access. The likely attack vector is the execution of a discard operation on a device backed by dm-integrity with large tag sizes, triggering the infinite‑loop condition. A successful exploitation would result in a system hang, meeting the denial‑of‑service impact without compromising confidentiality or integrity. No EPSS score is reported, and the vulnerability is not listed in the CISA KEV catalog, indicating a presently low exploitation probability but a valid attack surface.

Generated by OpenCVE AI on October 28, 2026 at 12:42 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade to a kernel release that includes the commit fixing the tag size handling
  • Reconfigure dm-integrity to use tag sizes no larger than HASH_MAX_DIGESTSIZE so that max_blocks is never zero
  • Monitor the system for unusually high CPU usage or discarding activity and apply kernel updates as soon as available

Generated by OpenCVE AI on October 28, 2026 at 12:42 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Wed, 28 Oct 2026 13:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-458

Wed, 28 Oct 2026 10:45:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: dm-integrity: fix infinite loop on discard with large tag size When integrity_metadata handles a discard, it fills a buffer with DISCARD_FILLER and writes it over the tags, max_blocks blocks at a time. If the kmalloc fails, the buffer is the on-stack array checksums_onstack and max_size is set to HASH_MAX_DIGESTSIZE. So if the tag size is larger than HASH_MAX_DIGESTSIZE, max_blocks is zero, bi_size is never decremented and the loop never terminates. Fix this by using sizeof(checksums_onstack) as max_size. The array has MAX_TAG_SIZE bytes since commit b93b6643e9b5 ("dm integrity: fix a crash with unusually large tag size"), so max_blocks is at least 1.
Title dm-integrity: fix infinite loop on discard with large tag size
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-10-28T10:34:47.902Z

Reserved: 2026-09-25T10:25:14.394Z

Link: CVE-2026-99135

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-28T11:17:33.400

Modified: 2026-10-28T11:17:33.400

Link: CVE-2026-99135

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-28T12:45:16Z

Weaknesses
  • CWE-458

    DEPRECATED: Incorrect Initialization