CVE-2026-64458
Received Received - Intake

Divide-by-Zero and Out-of-Bounds in DAMON Hot Score Calculation

Vulnerability report for CVE-2026-64458, including description, CVSS score, EPSS score, affected products, exploitability, helpful resources, and attack-flow context.

Publication date: 2026-07-25

Last updated on: 2026-07-25

Assigner: kernel.org

Description

In the Linux kernel, the following vulnerability has been resolved: mm/damon/ops-common: handle extreme intervals in damon_hot_score() Fix three issues in damon_hot_score() that comes from wrong handling of extreme (zero or too high) monitoring intervals user setup. When the user sets sampling interval zero, damon_max_nr_accesses(), which is called from damon_hot_score(), causes a divide-by-zero. Needless to say, it is a problem. When the user sets the aggregation interval zero, the function returns zero. It is wrong, since the real maximum nr_acceses in the setup should be one. Worse yet, it can cause another divide-by-zero from its caller, damon_hot_score(), since it uses damon_max_nr_accesses() return value as a denominator. When the user sets the aggregation interval very high, damon_hot_score() could return a value out of [0, DAMOS_MAX_SCORE] range. Since the return value is used as an index to the regions_score_histogram array, which is DAMOS_MAX_SCORE+1 size, it causes out of bounds array access. The issues can be relatively easily reproduced like below. The sysfs write permission is required, though. # ./damo start --damos_action lru_prio --damos_quota_space 100M \ --damos_quota_interval 1s # cd /sys/kernel/mm/damon/admin/kdamonds/0 # echo 0 > contexts/0/monitoring_attrs/intervals/sample_us # echo 0 > contexts/0/monitoring_attrs/intervals/aggr_us # echo commit > state # dmesg [...] [ 131.329762] Oops: divide error: 0000 [#1] SMP NOPTI [...] [ 131.336089] RIP: 0010:damon_hot_score+0x27/0xd0 [...] Fix the divide-by-zero intervals problems by explicitly handling the zero intervals in damon_max_nr_accesses(). Fix the out-of-bound array access by applying [0, DAMOS_MAX_SCORE] bounds before returning from damon_hot_score(). The issue was discovered [1] by Sashiko.

CVSS Scores

EPSS Scores

Probability:
Percentile:

Meta Information

Published
2026-07-25
Last Modified
2026-07-25
Generated
2026-07-25
AI Q&A
2026-07-25
EPSS Evaluated
N/A
NVD
EUVD

Affected Vendors & Products

Showing 1 associated CPE
Vendor Product Version / Range
linux linux_kernel *

Helpful Resources

Exploitability

CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-UNKNOWN

Attack-Flow Graph

AI Quick Actions

Instant insights powered by AI
Executive Summary

This vulnerability is in the Linux kernel's DAMON (Data Access Monitor) subsystem. It involves incorrect handling of extreme monitoring intervals set by users. Specifically, setting sampling or aggregation intervals to zero or excessively high values can cause divide-by-zero errors or out-of-bounds array access in the damon_hot_score() function.

Detection Guidance

The vulnerability can be detected by checking for divide-by-zero errors or out-of-bounds array access in the DAMON subsystem. Use the provided reproduction commands to trigger the issue. Check kernel logs with 'dmesg' for errors like 'divide error' or 'Oops' after setting zero intervals in /sys/kernel/mm/damon/admin/kdamonds/0/contexts/0/monitoring_attrs/intervals/

Impact Analysis

This vulnerability can cause kernel crashes (oops) due to divide-by-zero errors or memory corruption from out-of-bounds array access. It requires sysfs write permissions to exploit, allowing local attackers to trigger system instability or denial-of-service conditions.

Mitigation Strategies

Apply the kernel patch that fixes the divide-by-zero and out-of-bounds issues in damon_hot_score(). Avoid setting monitoring intervals to zero or extremely high values in DAMON configurations. Monitor kernel updates for the fix.

Chat Assistant

Ask questions about this CVE
Hi! I’m here to help you understand CVE-2026-64458. Ask me anything about the vulnerability, its impact, or mitigation strategies.
0/70

EPSS Chart