CVE-2026-74645

mm/damon/lru_sort: error out for >10000 active_mem_bp

Published Aug 22, 2026 CVSS 3.1 · 5.5 Medium EPSS < 1% KEV · Not listed
Description
In the Linux kernel, the following vulnerability has been resolved:

mm/damon/lru_sort: error out for >10000 active_mem_bp

damos_quota_score() can trigger division by zero if the target value is
zero. DAMON_LRU_SORT lets users set the target value for the hot memory
scheme via active_mem_bp parameter. It avoids setting it as the target
value if the parameter value is zero. However, it also sets the cold
memory scheme with a target value that is calculated as '10000 -
active_mem_bp + 2'. Hence, if a user sets active_mem_bp 10002, the cold
memory scheme's quota goal target value can be zero. As a result,
division by zero can be triggered. Fix by returning an error when the
user tries to start DAMON with >10000 active_mem_bp parameter value.

It makes no sense to set active_mem_bp with 10002. It also requires
module parameters write permission to reproduce the issue. That said, the
consequence is quite bad.

One reliable way to reproduce the issue is like below:

# cd /sys/module/damon_lru_sort/parameters
# echo 1000 > wmarks_high
# echo 995 > wmarks_mid
# echo 0 > wmarks_low
# echo 10002 > active_mem_bp
# echo Y > enabled
# dmesg -w
[...]
[ 597.421247] Oops: divide error: 0000 [#1] SMP NOPTI
[ 597.428848] RIP: 0010:damos_quota_score+0x6f/0x480

This issue was discovered [1] by Sashiko.

Analysis

AI-generated

Technical impact

The Linux kernel’s DAMON lru_sort module contains a logic error that triggers a division by zero when users set active_mem_bp above 10,000. In that scenario the cold memory scheme’s target value becomes zero, causing an Oops and kernel panic as shown in the provided reproduction steps. The bug is limited to users with write access to the module parameters, enabling a local attacker with root or equivalent privileges to force a denial of service.

Affected Systems

This defect affects the Linux kernel across all distributions that ship the damon_lru_sort module prior to the fix. Specific vendors are not listed by name, but any system exposing the damon_lru_sort sysfs interface and allowing parameter writes (e.g., wmarks_high, wmarks_mid, wmarks_low, active_mem_bp, enabled) is vulnerable. No version range is provided, so all affected kernel releases containing the unpatched module should be treated as impacted.

Risk and Exploitability

The bug has a *moderate* impact due to an unhandled division leading to a kernel panic. The CVSS score is 5.5, indicating moderate severity. The EPSS score is < 1%, reflecting a very low probability of exploitation, and the flaw is not listed in CISA's KEV catalog. The attack vector is local and requires privileged write permission to the sysfs parameters, which is normally restricted to root. While the exploit is straightforward for an attacker with such access, the lack of remote entry reduces its immediate threat to environments that enforce strict user privileges.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Apply the vendor‑supplied kernel patch that validates active_mem_bp to not exceed 10,000 and prevents division by zero.
  • Update to the latest stable Linux kernel where the bug is fixed, or rebuild the kernel with the patch applied.
  • Restrict write access to /sys/module/damon_lru_sort/parameters so that only authorized users can change this module’s configuration, and set active_mem_bp to 10000 or lower.
  • If immediate patching is not possible, disable DAMON by setting the enabled parameter to 'N' or removing the module.

Generated by OpenCVE AI on August 25, 2026 at 14:01 UTC.

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Ubuntu USN Ubuntu USN USN-9019-1 Linux kernel (Azure) vulnerabilities
Ubuntu USN Ubuntu USN USN-9020-1 Linux kernel vulnerabilities
History
Type Values Removed Values Added
References
Metrics threat_severity

None

cvssV3_1

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

threat_severity

Moderate

Type Values Removed Values Added
Weaknesses CWE-369
Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: mm/damon/lru_sort: error out for >10000 active_mem_bp damos_quota_score() can trigger division by zero if the target value is zero. DAMON_LRU_SORT lets users set the target value for the hot memory scheme via active_mem_bp parameter. It avoids setting it as the target value if the parameter value is zero. However, it also sets the cold memory scheme with a target value that is calculated as '10000 - active_mem_bp + 2'. Hence, if a user sets active_mem_bp 10002, the cold memory scheme's quota goal target value can be zero. As a result, division by zero can be triggered. Fix by returning an error when the user tries to start DAMON with >10000 active_mem_bp parameter value. It makes no sense to set active_mem_bp with 10002. It also requires module parameters write permission to reproduce the issue. That said, the consequence is quite bad. One reliable way to reproduce the issue is like below: # cd /sys/module/damon_lru_sort/parameters # echo 1000 > wmarks_high # echo 995 > wmarks_mid # echo 0 > wmarks_low # echo 10002 > active_mem_bp # echo Y > enabled # dmesg -w [...] [ 597.421247] Oops: divide error: 0000 [#1] SMP NOPTI [ 597.428848] RIP: 0010:damos_quota_score+0x6f/0x480 This issue was discovered [1] by Sashiko.
Title mm/damon/lru_sort: error out for >10000 active_mem_bp
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References
Weaknesses

Sources

Status
PUBLISHED
Assigner
Linux
Published
Updated
Aug 22, 2026, 3:32 PM
Reserved
Aug 15, 2026, 5:44 AM
Status
Received
Published
Aug 22, 2026, 4:16 PM
Modified
Oct 14, 2026, 1:10 PM
Severity
Moderate
Public date
Aug 22, 2026, 12:00 AM