CVE-2026-99171 in Linux
Riassunto
di VulDB • 28/10/2026
Nel kernel Linux, è stata risolta la seguente vulnerabilità:
ntfs3: liberare l'sbi dopo un periodo di grazia (grace period)
Se viene utilizzata l'opzione di mount "nocase", ntfs3 impiega funzioni personalizzate per il calcolo dell'hash e il confronto dei dentry. Entrambe le funzioni accedono alle informazioni private del superblock di ntfs3 durante la traversata del percorso (pathwalk) in contesto RCU. Le funzioni `ntfs_put_super()` e `ntfs3_kill_sb()` rilasciano queste informazioni senza alcun ritardo RCU. Una lookup che si trova ancora all'interno del filesystem quando viene rilasciato l'ultimo riferimento al mount causa un Use-After-Free (UAF). Con una traversata del percorso bloccata in `ntfs_d_hash()` mentre l'ultimo riferimento al mount viene meno:
BUG: KASAN: slab-use-after-free in ntfs_nls_to_utf16+0x752/0x940 Lettura di dimensione 8 all'indirizzo ff1100010453c850 da parte del task walker/99 Call Trace: <TASK> ntfs_nls_to_utf16+0x752/0x940 ntfs_d_hash+0x22b/0x500 link_path_walk+0x11ad/0x1d30 path_lookupat+0x63/0xb00 filename_lookup+0x1f1/0x5b0 vfs_statx+0xd7/0x3b0 [...]
Allocato dal task 95: __kmalloc_cache_noprof+0x249/0x560 ntfs_init_fs_context+0x2db/0x5a0 alloc_fs_context+0x52e/0xc70 [...]
Liberato dal task 98: kfree+0x1db/0x5b0 deactivate_locked_super+0x9c/0xf0 cleanup_mnt+0x9f/0x130 task_work_run+0x131/0x250
Il bug è attualmente mascherato dal periodo di grazia (grace period) in `namespace_unlock()` per umount(2). Mantenere le informazioni necessarie finché le informazioni private del filesystem non vengono liberate e rilasciarle con un ritardo RCU.
`ntfs3_free_sbi()` ora viene eseguito da una callback RCU e rilascia la tabella upcase tramite `ntfs_put_shared()`. Di conseguenza, passare `s_shared_lock` a spin_lock_bh(). In caso contrario, la callback potrebbe andare in deadlock contro un task che detiene il lock sulla stessa CPU.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.