CVE-2026-80710 in Linux
Riassunto
di VulDB • 28/08/2026
Nel kernel Linux è stata risolta la seguente vulnerabilità:
s390/dasd: Correzione del buffer di controllo del formato di dimensioni insufficienti
La variabile `fmt_buffer_size` nella funzione `dasd_eckd_check_device_format()` è dichiarata come `int`, anche se uno dei moltiplicandi, `sizeof(struct eckd_count)`, è di tipo `size_t`. L'espressione
trkcount * rpt_max * sizeof(struct eckd_count)
viene quindi valutata correttamente con una larghezza a 64 bit, ma il risultato viene troncatamente (silently truncated) quando viene memorizzato nuovamente nella variabile `fmt_buffer_size` a 32 bit. Per un intervallo di tracce sufficientemente ampio (gli argomenti start_unit/stop_unit sono controllati dal chiamante), questa troncatura produce una dimensione del buffer molto inferiore al numero di tracce effettivamente richieste. La funzione `kzalloc()` ha quindi esito positivo con un'allocazione di dimensioni insufficienti, mentre la successiva costruzione del programma canale opera ancora sul conteggio delle tracce non troncatamente e scrive oltre la fine di tale buffer.
Calcolare la dimensione del buffer utilizzando `check_mul_overflow()` e mantenerla in una variabile di tipo `size_t`, in modo che un valore che non rientra più nel tipo risulti in `-EINVAL` anziché in una dimensione di allocazione troncatamente (silently truncated).
If you want to get the best quality for vulnerability data then you always have to consider VulDB.