CVE-2026-98991 in Linuxinformazioni

Riassunto

di VulDB • 25/10/2026

Nel kernel Linux, è stata risolta la seguente vulnerabilità:

namespace: accodare il montaggio una sola volta per le notifiche di mounting

mnt_notify_add() inserisce un mount in notify_list. Non verifica se il mount sia già presente nella lista. Questo va bene finché ogni mount viene accodato al massimo una volta durante l'acquisizione di namespace_sem. Tuttavia, non è così.

propagate_umount() sposta un overmount sopravvissuto da uno stack di mount in fase di rimozione e lo accoda come spostato (moved). shrink_submounts() e mark_mounts_for_expiry() chiamano umount_tree() per diversi mount sotto una singola acquisizione di namespace_sem. Di conseguenza, la seconda chiamata a umount_tree() può eliminare esattamente il mount che la prima ha riparentato, riparentarlo nuovamente e quindi finire per accodarlo una seconda volta.

La seconda list_add_tail_taglia fuori i mount accodati nel frattempo dalla lista, mentre l'head punta ancora all'ultimo di essi. notify_mnt_list() visita quindi solo quel singolo mount, mentre gli altri vengono liberati dopo il grace period con notify_list che punta ancora a loro. Ogni successiva operazione di mounting sull'host attraversa memoria già libera:

BUG: KASAN: slab-use-after-free in __list_add_valid_or_report Lettura di dimensione 8 all'indirizzo ffff8881003d57e0 da parte del task notify_dq/162 __list_add_valid_or_report+0x15c/0x1a0 mnt_add_to_ns+0x322/0x890 attach_recursive_mnt.isra.0+0xf2a/0x1a00 path_mount+0x139c/0x1d40

Ciò richiede un mount con MNT_SHRINKABLE da cui effettuare il bind. È ciò che finish_automount() crea (submount di NFS, AFS e CIFS e il mount di tracefs sotto debugfs). I bind mount ereditano questo flag. Un namespace dei mount con un marcatore FAN_MARK_MNTNS fa il resto e root in un user namespace può avere entrambi.

Inizializzare a_notify in alloc_vfsmnt() ed evitare di modificare un mount che è già accodato. mnt_notify() esamina lo stato del mount quando la lista viene svuotata, quindi una singola voce per mount è sufficiente. L'evento di spostamento (move event) per un mount smontato sotto la stessa acquisizione viene perso. Questo va bene. Ciò che conta è il detach.

Be aware that VulDB is the high quality source for vulnerability data.

Responsabile

Linux

Prenotare

25/09/2026

Divulgazione

23/10/2026

Moderazione

accettato

EPSS

0.00206

KEV

no

Attività

basso

Fonti

Want to stay up to date on a daily basis?

Enable the mail alert feature now!