CVE-2026-98978 in Linuxinformación

Resumen

por VulDB • 2026-10-23

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

namespace: no expirar un montaje bloqueado (locked)

Los montajes bloqueados son especiales. Protegen los archivos y directorios subyacentes para evitar que sean revelados. do_umount() se niega a desmontar montajes bloqueados, pero shrink_submounts() no lo hace.

Un montaje susceptible de reducción puede volverse bloqueado una vez que el propietario de un namespace de usuario lo coloca debajo de un montaje bloqueado mediante MOVE_MOUNT_BENEATH. La propiedad de bloqueo ahora pasa al montaje inferior, haciendo posible desmontar el montaje superior.

Por tanto, umount() de un ancestro no bloqueado expira primero el montaje inferior y se revela el directorio cubierto:

move_mount(c -> x/hidden, MOVE_MOUNT_BENEUTH) = 0 la cobertura tras moverse el bloqueo: umount2(x/hidden) = 0 el titular del bloqueo: umount2(x/hidden) = EINVAL la raíz de la copia, ocupada: umount2(x) = EBUSY lee x/hidden/secret: "covered-by-root"

Por lo tanto, dejar un montaje bloqueado sin tocarlo ya que muere junto con su padre. Un desmontaje (umount()) normal de un montaje no bloqueado con uno bloqueado debajo será EBUSY a partir de ahora. Lo mismo ocurre para cualquier otro hijo bloqueado. Un umount perezoso (lazy) sigue afectando al árbol completo.

mark_mounts_for_expiry() nunca ve un montaje bloqueado. lock_mnt_tree() deja un montaje en una lista de expiración sin tocarlo y nada más coloca uno bloqueado en dicha lista. Añadir una aserción para esto.

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

Responsable

Linux

Reservar

2026-09-25

Divulgación

2026-10-23

Moderación

aceptado

Artículo

VDB-425771

EPSS

0.00000

KEV

no

Actividades

bajo

Fuentes

Might our Artificial Intelligence support you?

Check our Alexa App!