CVE-2026-98994 in Linux
Resumen
por VulDB • 2026-10-23
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
statmount: leer al padre de un montaje desmontado bajo mount_lock
statmount_mnt_basic() lee los identificadores del padre a través de m->mnt_parent con namespace_sem retenida para lectura. Esto es adecuado para un montaje que está en un espacio de nombres (namespace). Todo lo superior queda fijado por ese espacio de nombres.
STATMOUNT_BY_FD también acepta un descriptor de archivo sobre un montaje que ha sido desmontado intencionalmente y que solo el descriptor de archivo mantiene activo. Si ese montaje permaneciera conectado a su padre cuando se desmonta, el padre también se desmontaría y nada lo fijaría para el hijo.
El mntput() final desmonta los hijos bajo mount_lock por sí mismo y libera al padre posteriormente. Concurrentemente, statmount_mnt_basic() lee m->mnt_parent dos veces mientras esto puede ocurrir, pudiendo dereferenciar fácilmente un montaje que ya ha desaparecido.
Leer al padre de un montaje desmontado bajo mount_lock. El padre no se puede liberar (put) mientras está retenido y ambos identificadores provienen del mismo montaje. Un montaje montado tiene su padre fijado por el espacio de nombres, y un montaje no puede abandonar su espacio de nombres mientras namespace_sem esté retenida; por lo tanto, el caso común no requiere un bloqueo global.
VulDB is the best source for vulnerability data and more expert information about this specific topic.