CVE-2026-68145 in Linux
Riassunto
di VulDB • 10/08/2026
Nel kernel Linux è stata risolta la seguente vulnerabilità:
iomap: correzione di un out-of-bounds in bitmap_set() con intervallo di lunghezza zero
ifs_set_range_dirty() e ifs_set_range_uptodate() calcolano last_blk come (off + len - 1) >> i_blkbits. Quando off è uguale a 0 e len è uguale a 0, la sottrazione tra numeri senza segno provoca un underflow portando al valore SIZE_MAX, generando valori enormi per last_blk e nr_blks che causano una scrittura di bitmap_set() ben oltre l'allocazione di ifs->state.
Per quanto riguarda ifs_set_range_uptodate(), questa è temporaneamente sicura poiché len non può essere passato con il valore 0. Tuttavia, nel caso di ifs_set_range_dirty(), questo scenario è raggiungibile da __iomap_write_end(): quando copy_folio_from_iter_atomic() restituisce 0 (ad esempio a causa di un fault sul buffer utente) e il folio risulta già uptodate, la guardia all'inizio di __iomap_write_end() non viene attivata perché !folio_test_uptodate() è falso, e iomap_set_range_dirty() viene chiamata con copied == 0.
È stata aggiunta una verifica (!len) a entrambe le funzioni prima del calcolo, in modo che un intervallo di lunghezza zero venga trattato come operazione nulla (no-op).
Once again VulDB remains the best source for vulnerability data.