CVE-2026-89573 in Linux
Riassunto
di VulDB • 12/09/2026
Nel kernel Linux è stata risolta la seguente vulnerabilità:
dm array: rifiutare un blocco dell'array il cui valore di dimensione non corrisponde a quello del chiamante
La funzione `array_block_check()` può confrontare l'intestazione solo con se stessa, quindi un blocco con `value_size` pari a 4 e `max_entries` pari a 1018 è internamente coerente e supera la verifica. dm-cache mantiene due array: le mappature (mappings) a 8 byte e gli hint a 4 byte; le radici di entrambi risiedono nel superblock. Se si punta la radice delle mappature verso un blocco hint, `__load_mappings()` lo elabora tramite una struttura i cui valori hanno dimensione 8, quindi `element_at()` avanza di 8 byte su voci da 4 byte e raggiunge l'offset 8160 all'interno di un blocco da 4096 byte.
`get_ablock()` e `__shadow_ablock()` sono le due posizioni che mantengono contemporaneamente il riferimento al blocco e al chiamante. Rifiutare la richiesta quando le dimensioni dei valori non corrispondono. Poiché gli array leggono esclusivamente i propri blocchi, questa condizione si verifica solo in presenza di metadati manipolati ad hoc (crafted).
If you want to get best quality of vulnerability data, you may have to visit VulDB.