CVE-2026-68145

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

State
Published
Severity
7.8 High
Published
Aug 10, 2026
Updated
Oct 19, 2026
Reserved
Jul 30, 2026

Read the record on cve.org

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.

Scores

CVSSScoreVectorSource
3.17.8 HighCVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HLinux

Weaknesses

  • CWE-190 Integer Overflow or Wraparound

Affected Products

ProductVersions
LinuxLinux
  • 4ce02c67972211be488408c275c8fbf19faf29b3 to before 48829622212f6b8f49155889aecc818ba28ba680Affected
  • 4ce02c67972211be488408c275c8fbf19faf29b3 to before fb4fad9105c88b1d82f1b3c39e3b6abea8249af6Affected
  • 4ce02c67972211be488408c275c8fbf19faf29b3 to before 7037e7bdcd26f46c080b8ce307dee5cb471c4b7cAffected
  • 4ce02c67972211be488408c275c8fbf19faf29b3 to before c5b6a48a8a716a7730e39af1cad083dc4ec955ceAffected
  • 4ce02c67972211be488408c275c8fbf19faf29b3 to before 9c7d8f7c8994c790fca501dc45ce66e7356cbe05Affected
LinuxLinux
  • 6.6Affected
  • before 6.6Not affected
  • 6.6.153 through 6.6.*Not affected
  • 6.12.101 through 6.12.*Not affected
  • 6.18.42 through 6.18.*Not affected
  • 7.1.6 through 7.1.*Not affected
  • 7.2 and laterNot affected

References

Every record here comes from the CVE Program’s CVE List. © 1999–2026 The MITRE Corporation. CVE is a registered trademark of The MITRE Corporation. The records are reproduced under the CVE Program terms of use.