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

iomap: fix out-of-bounds bitmap_set() with zero-length range

ifs_set_range_dirty() and ifs_set_range_uptodate() compute last_blk
as (off + len - 1) >> i_blkbits. When off is 0 and len is 0, the
unsigned subtraction underflows to SIZE_MAX, producing a huge
last_blk and nr_blks value that causes bitmap_set() to write far
beyond the ifs->state allocation.

Regarding ifs_set_range_uptodate(), it is temporarily safe because len
cannot be passed in as 0. However, for ifs_set_range_dirty() this is
reachable from __iomap_write_end(): when copy_folio_from_iter_atomic()
returns 0 (e.g. user buffer fault) and the folio is already uptodate,
the guard at the top of __iomap_write_end() does not trigger because
!folio_test_uptodate() is false, and iomap_set_range_dirty() is called
with copied == 0.

Add a !len guard to both functions before the computation, so that a
zero-length range is a no-op.
Published: 2026-08-10
Score: 7.8 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The iomap subsystem in the Linux kernel can corrupt kernel memory when it processes a zero‑length range during a write operation. When the offset is zero and the length is zero, the calculation of the last block underflows, leading to a gigantic last_blk value that causes bitmap_set to write far beyond the allocated state buffer. This out‑of‑bounds write corrupts kernel memory, resulting in a local kernel memory corruption that could allow an attacker with local access to gain higher privileges or cause a system crash. The bug is reached during a failed write completion path that marks a region dirty with a zero length.

Affected Systems

The issue resides entirely within the Linux kernel, affecting all kernel releases before the commit that introduced the guard. Vendors running any default Linux distribution with a kernel older than the patch should consider this flaw present.

Risk and Exploitability

The CVSS score of 7.8 indicates high severity, yet the memory corruption could still enable local privilege escalation or denial of service. The exploit would require the ability to initiate a write that triggers the failure path, so the attack is local. The EPSS score is less than 1% and the vulnerability is not listed in the CISA KEV catalog, suggesting that widespread exploitation has not yet been observed. Nonetheless, the severity of the bug warrants prompt remediation.

Generated by OpenCVE AI on August 13, 2026 at 23:52 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the Linux kernel to a version that includes the commit that adds the len guard to ifs_set_range_dirty and ifs_set_range_uptodate.
  • If your vendor offers a backported security patch for the specific distribution, apply that patch following vendor instructions.
  • Monitor system logs for iomap‑related messages and watch for anomalous kernel crashes or memory corruption events after the upgrade.

Generated by OpenCVE AI on August 13, 2026 at 23:52 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DLA Debian DLA DLA-4745-1 linux-6.12 security update
History

Sun, 23 Aug 2026 13:15:00 +0000


Thu, 13 Aug 2026 22:45:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

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

cvssV3_1

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


Thu, 13 Aug 2026 08:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-119

Wed, 12 Aug 2026 00:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-787
References
Metrics threat_severity

None

cvssV3_1

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

threat_severity

Moderate


Mon, 10 Aug 2026 20:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-119

Mon, 10 Aug 2026 12:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: iomap: fix out-of-bounds bitmap_set() with zero-length range ifs_set_range_dirty() and ifs_set_range_uptodate() compute last_blk as (off + len - 1) >> i_blkbits. When off is 0 and len is 0, the unsigned subtraction underflows to SIZE_MAX, producing a huge last_blk and nr_blks value that causes bitmap_set() to write far beyond the ifs->state allocation. Regarding ifs_set_range_uptodate(), it is temporarily safe because len cannot be passed in as 0. However, for ifs_set_range_dirty() this is reachable from __iomap_write_end(): when copy_folio_from_iter_atomic() returns 0 (e.g. user buffer fault) and the folio is already uptodate, the guard at the top of __iomap_write_end() does not trigger because !folio_test_uptodate() is false, and iomap_set_range_dirty() is called with copied == 0. Add a !len guard to both functions before the computation, so that a zero-length range is a no-op.
Title iomap: fix out-of-bounds bitmap_set() with zero-length range
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-23T12:45:56.875Z

Reserved: 2026-07-30T09:28:09.371Z

Link: CVE-2026-68145

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-08-10T13:20:00.350

Modified: 2026-08-23T13:16:33.943

Link: CVE-2026-68145

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-08-10T11:59:09Z

Links: CVE-2026-68145 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-14T00:00:04Z

Weaknesses