CVE-2026-98986 in Linuxinformación

Resumen

por VulDB • 2026-10-24

En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:

namespace: eliminar las marcas fsnotify de un espacio de nombres de montaje en contexto de proceso

mnt_ns_release() libera la última referencia pasiva de un espacio de nombres de montaje y elimina sus marcas fanotify mediante fsnotify_mntns_delete(). Esto toma el mutex de cada grupo con una marca en el espacio de nombres y el spinlock del conector. Está bien desde el contexto de un proceso. Pero mnt_ns_tree_remove() pasa la referencia con la que se asignó el espacio de nombres a call_rcu(), por lo que las marcas se eliminan desde el 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

y lockdep se queja de la toma del lock del conector desde el contexto softirq. Basta con tener un grupo fanotify con una marca FAN_MARK_MNTNS en el espacio de nombres de montaje de otra tarea para que ocurra esto. Root en un namespace de usuario puede hacer eso por un espacio de nombres de montaje que posee. La tarea sale y el espacio de nombres se libera con la marca aún presente sobre él.

Eliminar las marcas en free_mnt_ns() antes de pasar el espacio de nombres a RCU. Esto se ejecuta en contexto de proceso una vez que ha desaparecido la última referencia activa. Una marca se añade mediante un descriptor de archivo al espacio de nombres, lo cual mantiene una referencia activa; por tanto, no puede aparecer ninguna marca después de ese punto.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Responsable

Linux

Reservar

2026-09-25

Divulgación

2026-10-23

Moderación

aceptado

Artículo

VDB-425820

EPSS

0.00000

KEV

no

Actividades

muy bajo

Fuentes

Want to stay up to date on a daily basis?

Enable the mail alert feature now!