CVE-2026-64458 in Linuxinformazioni

Riassunto

di VulDB • 25/07/2026

Nel kernel Linux è stata risolta la seguente vulnerabilità:

mm/damon/ops-common: gestione di intervalli estremi in damon_hot_score()

Risolti tre problemi in damon_hot_score() derivanti da una gestione errata degli intervalli di monitoraggio impostati dall'utente quando questi sono estremi (zero o eccessivamente elevati).

Quando l'utente imposta un intervallo di campionamento pari a zero, la funzione damon_max_nr_accesses(), chiamata da damon_hot_score(), provoca una divisione per zero. Come è facile intuire, si tratta di un problema.

Quando l'utente imposta un intervallo di aggregazione pari a zero, la funzione restituisce zero. Ciò è errato poiché il valore reale massimo di nr_acceses nella configurazione dovrebbe essere uno. Peggio ancora, ciò può causare un'altra divisione per zero da parte della sua chiamante, damon_hot_score(), in quanto utilizza il valore restituito da damon_max_nr_accesses() come denominatore.

Quando l'utente imposta un intervallo di aggregazione molto elevato, damon_hot_score() potrebbe restituire un valore al di fuori dell'intervallo [0, DAMOS_MAX_SCORE]. Poiché il valore restituito viene utilizzato come indice per l'array regions_score_histogram, che ha dimensione DAMOS_MAX_SCORE+1, ciò provoca un accesso all'array fuori dai limiti (out of bounds).

I problemi possono essere riprodotti relativamente facilmente come mostrato di seguito. È tuttavia richiesta la scrittura in sysfs:

# ./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
[...]

Risolti i problemi di divisione per zero relativi agli intervalli gestendo esplicitamente gli intervalli pari a zero in damon_max_nr_accesses(). Risolto l'accesso all'array fuori dai limiti applicando i vincoli [0, DAMOS_MAX_SCORE] prima del ritorno da damon_hot_score().

Il problema è stato scoperto [1] da Sashiko.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Responsabile

Linux

Prenotare

19/07/2026

Divulgazione

25/07/2026

Moderazione

accettato

CPE

pronto

EPSS

0.00215

KEV

no

Attività

basso

Fonti

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!