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

mm/damon/core: disallow overlapping input ranges for damon_set_regions()

damon_set_regions() assumes the input ranges are sorted by the address and
don't overlap each other. Hence the assumption was initially to be
explicitly validated. But commit 97d482f4592f ("mm/damon/sysfs: reuse
damon_set_regions() for regions setting") has mistakenly removed the
validation.

This can make DAMON behave in unexpected ways. At the best, the
monitoring results snapshot will just look weird since there will be
overlapping regions. DAMOS will also work weirdly, applying the same
action multiple times for overlapping regions, and make DAMOS quota weird.
More seriously, depending on the setup and regions updates sequence,
negative size regions can be made. It will trigger WARN_ONCE() if the
kernel is built with CONFIG_DAMON_DEBUG_SANITY=y. Depending on the
monitoring results, the negative size region can further trigger division
by zero in damon_merge_two_regions().

Note that some of the consequences including the WARN_ONCE() and the
divide by zero depend on commits that were introduced after the root cause
commit 97d482f4592f ("mm/damon/sysfs: reuse damon_set_regions() for
regions setting").

Fix the problems by checking the assumption and returning an error if
the input ranges don't meet the assumption.

The issue was discovered [1] by Sashiko.
Published: 2026-08-10
Score: n/a
EPSS: n/a
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The Linux kernel function damon_set_regions() was written to assume that the input memory ranges were sorted by address and did not overlap each other. A commit removed the explicit validation for this assumption, allowing callers to submit overlapping ranges. When overlapping ranges are processed the logic can compute negative sizes, trigger a WARN_ONCE when debug checks are enabled, and in the worst case cause a division‑by‑zero inside damon_merge_two_regions(), which can crash the kernel. The result is uncontrolled kernel behavior that could lead to a system reboot or loss of availability.

Affected Systems

All Linux kernel releases that include damon_set_regions() and the associated sysfs interface are potentially affected. No specific kernel version is listed, so the issue applies to any build until the missing validation is restored by the upstream patch.

Risk and Exploitability

The vulnerability is not currently listed in CISA KEV and EPSS data is unavailable, yet the potential for a kernel crash implies a high impact. Exploitation would require creating or modifying DAMON regions via the sysfs interface, which is normally restricted to privileged users. A local attacker with sufficient rights could trigger the divide‑by‑zero by supplying carefully crafted overlapping ranges, effectively bringing the system down for a denial‑of‑service attack. The absence of public exploit code does not reduce the risk because the flaw directly leads to kernel instability.

Generated by OpenCVE AI on August 10, 2026 at 13:56 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply the kernel update that reintroduces the range validation for damon_set_regions()
  • If a patch cannot be applied immediately, disable the DAMON sysfs interface or set the device to use a single contiguous region to avoid overlaps
  • Configure the kernel with CONFIG_DAMON_DEBUG_SANITY=y so that WARN_ONCE and runtime checks surface any malformed ranges

Generated by OpenCVE AI on August 10, 2026 at 13:56 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 10 Aug 2026 14:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-20
CWE-395

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

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: mm/damon/core: disallow overlapping input ranges for damon_set_regions() damon_set_regions() assumes the input ranges are sorted by the address and don't overlap each other. Hence the assumption was initially to be explicitly validated. But commit 97d482f4592f ("mm/damon/sysfs: reuse damon_set_regions() for regions setting") has mistakenly removed the validation. This can make DAMON behave in unexpected ways. At the best, the monitoring results snapshot will just look weird since there will be overlapping regions. DAMOS will also work weirdly, applying the same action multiple times for overlapping regions, and make DAMOS quota weird. More seriously, depending on the setup and regions updates sequence, negative size regions can be made. It will trigger WARN_ONCE() if the kernel is built with CONFIG_DAMON_DEBUG_SANITY=y. Depending on the monitoring results, the negative size region can further trigger division by zero in damon_merge_two_regions(). Note that some of the consequences including the WARN_ONCE() and the divide by zero depend on commits that were introduced after the root cause commit 97d482f4592f ("mm/damon/sysfs: reuse damon_set_regions() for regions setting"). Fix the problems by checking the assumption and returning an error if the input ranges don't meet the assumption. The issue was discovered [1] by Sashiko.
Title mm/damon/core: disallow overlapping input ranges for damon_set_regions()
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-10T11:59:31.670Z

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

Link: CVE-2026-68164

cve-icon Vulnrichment

No data.

cve-icon NVD

No data.

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-10T17:15:02Z

Weaknesses
  • CWE-20

    Improper Input Validation

  • CWE-395

    Use of NullPointerException Catch to Detect NULL Pointer Dereference