Skip to main content

Linux Kernel EUVDEUVD-2026-55529

| CVE-2026-68145 HIGH
2026-08-10 Linux GHSA-gr2w-phmc-qw83
7.8
CVSS 3.1 · Vendor: Linux
Share

Severity by source

Vendor (Linux) PRIMARY
7.8 HIGH
AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
vuln.today AI
7.8 HIGH

Local access with low-privilege user required; unconstrained heap corruption enables full C/I/A impact via privilege escalation.

3.1 AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
4.0 AV:L/AC:L/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
SUSE
6.1 MEDIUM
AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:L/A:H
Red Hat
7.0 HIGH
qualitative

Primary rating from Vendor (Linux).

CVSS VectorVendor: Linux

Attack Vector
Local
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

5
Analysis Generated
Aug 14, 2026 - 02:30 vuln.today
CVSS changed
Aug 13, 2026 - 23:37 NVD
7.8 (HIGH)
Patch available
Aug 10, 2026 - 14:18 EUVD
CVE Published
Aug 10, 2026 - 11:59 cve.org
UNKNOWN (no severity yet)
CVE Published
Aug 10, 2026 - 11:59 cve.org
HIGH 7.8

DescriptionCVE.org

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.

AnalysisAI

Out-of-bounds kernel heap write in the Linux kernel iomap subsystem allows a local unprivileged user to corrupt kernel memory and potentially escalate privileges to root. The flaw resides in ifs_set_range_dirty() and ifs_set_range_uptodate(), where an unsigned integer underflow on a zero-length range argument produces a near-SIZE_MAX block count, causing bitmap_set() to write arbitrarily far beyond the ifs->state allocation. The reachable code path through __iomap_write_end() requires no special configuration and affects all iomap-backed filesystems (ext4, XFS, etc.). EPSS is low at 0.18% (7th percentile), no KEV listing, and no public exploit has been identified; however, the C:H/I:H/A:H CVSS impact profile reflects the severity of uncontrolled kernel heap corruption.

Technical ContextAI

The Linux kernel iomap subsystem (cpe:2.3:a:linux:linux) provides a generic block-mapping layer consumed by filesystems such as ext4, XFS, and btrfs. The in-folio state (ifs) structure tracks dirty and uptodate ranges via per-block bitmaps allocated at folio attachment time. ifs_set_range_dirty() and ifs_set_range_uptodate() both compute the final block index as last_blk = (off + len - 1) >> i_blkbits and the count as nr_blks = last_blk - first_blk + 1. When len is zero and off is zero, the subtraction of 1 from an unsigned size_t value underflows to SIZE_MAX, yielding a last_blk and nr_blks that are effectively unlimited, which causes the subsequent bitmap_set() call to write many bytes beyond the end of the ifs->state allocation - a classic heap out-of-bounds write. Although ifs_set_range_uptodate() cannot currently be reached with len0 because its callers enforce non-zero lengths, ifs_set_range_dirty() is reachable via __iomap_write_end() when copy_folio_from_iter_atomic() returns 0 (triggered by a faulting user-space buffer) while the target folio is already uptodate - a combination that skips the early-exit guard (!folio_test_uptodate() is false) and passes copied0 directly into iomap_set_range_dirty(). The root cause is an absent zero-length guard, addressed by the upstream fix which makes both functions no-ops when len is zero. CWE is not formally assigned by NVD, but the vulnerability class is an integer underflow leading to an out-of-bounds write (CWE-191 / CWE-787).

RemediationAI

The primary fix is to upgrade the running kernel to a patched version: 6.12.101 or later for the 6.12 stable branch, 7.1.6 or later for the 7.1 branch, 6.18.42 or later for the 6.18 branch, or 7.2-rc5 or later for mainline. Distribution-specific package updates (RHEL, Debian, Ubuntu, SUSE) should be applied as they become available through vendor channels; monitor vendor security advisories for backported fixes to older LTS kernels. If immediate patching is not possible, the most effective compensating control for multi-user systems is restricting local user access to iomap-backed filesystems or preventing untrusted users from performing write() syscalls into faulting buffers - achievable on container platforms by dropping CAP_SYS_RAWIO and confining workloads with seccomp profiles that block exotic io_uring and write paths, though this is not a complete mitigation. Enabling SELinux or AppArmor in enforcing mode limits post-exploitation impact (privilege escalation to root) but does not prevent the heap corruption trigger itself. Kernel hardening options such as CONFIG_INIT_ON_ALLOC_DEFAULT_ON can reduce exploitability of heap corruption primitives by initializing freed memory, at a minor performance cost. Systems with no untrusted local users (single-tenant workstations, cloud instances with no shell access granted to tenants) face substantially lower urgency.

Vendor StatusVendor

SUSE

Severity: Moderate
Product Status
SUSE Linux Enterprise Desktop 15 SP7 Not-Affected
SUSE Linux Enterprise Desktop 15 SP7 Not-Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Not-Affected
SUSE Linux Enterprise High Availability Extension 15 SP7 Not-Affected
SUSE Linux Enterprise High Availability Extension 16.0 Affected

Share

EUVD-2026-55529 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy