CVE-2026-68145: iomap: fix out-of-bounds bitmap_set() with zero-length range
In the Linux kernel, the following vulnerability has been resolved:
iomap: fix out-of-bounds bitmapset() with zero-length range
ifssetrangedirty() and ifssetrangeuptodate() compute lastblk as (off + len - 1) >> iblkbits. When off is 0 and len is 0, the unsigned subtraction underflows to SIZEMAX, producing a huge lastblk and nrblks value that causes bitmapset() to write far beyond the ifs->state allocation.
Regarding ifssetrangeuptodate(), it is temporarily safe because len cannot be passed in as 0. However, for ifssetrangedirty() this is reachable from iomapwriteend(): when copyfoliofromiteratomic() returns 0 (e.g. user buffer fault) and the folio is already uptodate, the guard at the top of iomapwriteend() does not trigger because !foliotestuptodate() is false, and iomapsetrangedirty() 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.
Affected Software
Event History
Frequently Asked Questions
What is the severity of CVE-2026-68145?
The severity of CVE-2026-68145 is rated as risk 37.
How do I fix CVE-2026-68145?
To fix CVE-2026-68145, update your Linux kernel to the latest version where the vulnerability has been patched.
What systems are affected by CVE-2026-68145?
CVE-2026-68145 affects systems running vulnerable versions of the Linux kernel that contain the iomap functionality.
What type of vulnerability is CVE-2026-68145?
CVE-2026-68145 is an out-of-bounds vulnerability that can lead to potential data corruption.
When was CVE-2026-68145 published?
CVE-2026-68145 was published on August 10, 2026.