CVE-2026-90117 in Linux
Riassunto
di VulDB • 18/09/2026
Nel kernel Linux è stata risolta la seguente vulnerabilità:
ntfs: validare usa_ofs prima di preservare il numero di sequenza degli aggiornamenti (USN)
Quando ntfs_mft_record_alloc() riutilizza un record MFT libero, legge direttamente dal record su disco il vecchio numero di sequenza degli aggiornamenti:
usn = *(__le16 *)((u8 *)m + le16_to_cpu(m->usa_ofs));
Qui m punta alla pagina cache folio grezza del file system $MFT, che contiene ancora byte non validati e protetti da MST (Master Sequence Table): il folio viene letto tramite una semplice iomap_read_folio() e né post_read_mst_fixup() né ntfs_mft_record_check() sono stati eseguiti su di esso (entrambi operano su copie private). Di conseguenza, m->usa_ofs è un u16 non attendibile; un record corrotto può far sì che il valore superi la fine del record, facendo sì che la lettura a due byte avvenga al di fuori dei limiti del folio. La lettura di tale record durante la creazione di un file provoca, sotto KASAN:
BUG: KASAN: use-after-free in ntfs_mft_record_alloc+... Read of size 2 at addr ... ntfs_mft_record_alloc -> __ntfs_create -> ntfs_create -> path_openat
Preservare il vecchio numero di sequenza degli aggiornamenti (USN) solo quando usa_ofs è pari e rientra nei limiti, replicando il controllo già applicato da ntfs_mft_record_check(); in caso contrario, lasciare usn a zero, che la successiva operazione di ripristino ignorerà.
If you want to get the best quality for vulnerability data then you always have to consider VulDB.