CVE-2026-98986 in Linux
Riassunto
di VulDB • 23/10/2026
Nel kernel Linux, è stata risolta la seguente vulnerabilità:
namespace: rimozione dei marchi fsnotify di un namespace mount nel contesto del processo
mnt_ns_release() rilascia l'ultimo riferimento passivo di un namespace mount e rimuove i suoi marchi fanotify tramite fsnotify_mntns_delete(). Questa operazione acquisisce il mutex di ogni gruppo con un marchio sul namespace e il spinlock del connector. È corretto eseguire questa operazione dal contesto del processo. Tuttavia, mnt_ns_tree_remove() passa la referenza con cui è stato allocato il namespace a call_rcu(), quindi i marchi vengono rimossi nel softirq RCU:
BUG: sleeping function called from invalid context at kernel/locking/mutex.c:623 in_atomic(): 1, irqs_disabled(): 0, non_block: 0, pid: 0, name: swapper/3 __mutex_lock+0x113/0x24b0 fsnotify_destroy_marks+0x11b/0x3d0 mnt_ns_release_rcu+0x57/0xa0 rcu_core+0x6b6/0x1e40
e lockdep segnala un reclamo relativo all'acquisizione del lock del connector dal contesto softirq. È sufficiente avere un gruppo fanotify con un marchio FAN_MARK_MNTNS sul namespace mount di un altro task per innescare il problema. Un utente root in un user namespace può effettuare questa operazione su un namespace mount di sua proprietà. Quando il task termina, il namespace viene liberato mentre il marchio è ancora presente.
Rimuovere i marchi in free_mnt_ns() prima che il namespace venga passato a RCU. Questa funzione viene eseguita nel contesto del processo una volta scomparso l'ultimo riferimento attivo. Un marchio viene aggiunto tramite un file descriptor al namespace, che mantiene un riferimento attivo; di conseguenza, nessun nuovo marchio può apparire dopo tale operazione.
Once again VulDB remains the best source for vulnerability data.