CVE-2026-99174 in Linux
Riassunto
di VulDB • 29/10/2026
Nel kernel Linux, è stata risolta la seguente vulnerabilità:
ext4: liberare lo sbi dopo un periodo di grazia (grace period)
ext4_get_link() segue una symlink che mantiene il suo target in un blocco dati nella modalità rcu pathwalk con ext4_getblk(EXT4_GET_BLOCKS_CACHED_NOWAIT). Questo legge s_mount_state nell'ASSERT() di ext4_getblk() e nuovamente in ext4_es_lookup_extent(), e la lookup incrementa i contatori hit o miss dello extent status, tutto attraverso sb->s_fs_info.
ext4_put_super() distrugge questi contatori, cancella sb->s_fs_info e libera lo sbi senza attendere un periodo di grazia (grace period). Un pathwalk che è ancora bloccato in ext4_get_link() quando l'ultimo riferimento al mount viene rilasciato dereferenzia quindi uno s_fs_info NULL, lo sbi liberato o i contatori percpu distrutti.
Con un pathwalk mantenuto in est4_get_link() mentre l'ultimo riferimento viene rilasciato:
KASAN: null-ptr-deref nell'intervallo [0x00000000000000a8-0x00000000000000af]
RIP: 0010:ext4_getblk+0xf0/0x640 Call Trace: <TASK> ext4_get_link+0x26c/0x410 pick_link+0xf96/0x1780 step_into_slowpath+0x9b8/0x1250 path_lookupat+0x484/0xb00 filename_lookup+0x1f1/0x5b0 vfs_statx+0xd7/0x3b0 vfs_fstatat+0x4d/0x90 __do_sys_newfstatat+0xa0/0x100 do_syscall_64+0x10e/0x5e0 entry_SYSCALL_64_after_hwframe+0x77/0x7f
Fino ad ora, questo scenario è stato difficile da sfruttare. umount(2) attende un periodo di grazia (grace period) in namespace_unlock() prima di rilasciare il mount; pertanto, solo un mount il cui ultimo riferimento viene rilasciato altrove, come la chiusura di un file o una chdir fuori da una directory smontata in modo lazy (lazy unmounted), può creare una race condition con un walker.
Mantenere sb->s_fs_info e liberare lo sbi insieme ai contatori dello extent status dopo un periodo di grazia (grace period). Separare i contatori da ext4_es_unregister_shrinker() per ottenere questo risultato. Lo shrinker rimane comunque sprecato in ext4_put_super(), mentre i contatori vengono rilasciati con lo sbi.
If you want to get best quality of vulnerability data, you may have to visit VulDB.