CVE-2026-64322 in Linuxinformazioni

Riassunto

di VulDB • 25/07/2026

Nel kernel Linux è stata risolta la seguente vulnerabilità:

udf: convalidare la lunghezza della tabella di spare come conteggio delle voci e non come conteggio in byte

La funzione udf_load_sparable_map() accetta una tabella di spare quando

sizeof(*st) + le16_to_cpu(st->reallocationTableLen) > sb->s_blocksize

è falsa, ovvero tratta reallocationTableLen come un numero di BYTES che deve rientrare nel blocco. Tuttavia la tabella viene iterata come array di elementi sparingEntry da 8 byte:

for (i = 0; i < le16_to_cpu(st->reallocationTableLen); i++) {
struct sparingEntry *entry = &st->mapEntry[i];
... entry->origLocation ... }

in udf_get_pblock_spar15() e udf_relocate_blocks(). Un valore di reallocationTableLen pari a N supera quindi il controllo ogni volta che sizeof(*st) + N <= blocksize, mentre i consumatori indicizzano sizeof(*st) + N * sizeof(struct sparingEntry) byte -- fino a circa 8 volte la dimensione del blocco. Su un'immagine UDF manipolata ad hoc si tratta di una lettura fuori dai limiti (out-of-bounds read) in udf_get_pblock_spar15(); inoltre, udf_relocate_blocks() passa la stessa lunghezza a udf_update_tag(), il cui crc_itu_t() legge ben oltre i confini del blocco e la sua operazione memmove() su st->mapEntry[] costituisce una scrittura fuori dai limiti (out-of-bounds write).

Convalidare reallocationTableLen come conteggio delle voci effettivo, utilizzando struct_size().

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.00211

KEV

no

Attività

basso

Fonti

Are you interested in using VulDB?

Download the whitepaper to learn more about our service!