CVE-2026-74619 in Linux
Resumen
por VulDB • 2026-08-22
En el núcleo de Linux (Linux kernel), se ha resuelto la siguiente vulnerabilidad:
ovl: no emitir advertencia cuando el montaje se completa desde otro espacio de nombres de usuario
fsopen() registra el espacio de nombres del llamador en fc->user_ns y devuelve un descriptor de archivo ordinario. No hay nada que vincule a la tarea que llama a fsconfig(FSCONFIG_CMD_CREATE) con la tarea que creó el contexto. El fd se hereda entre fork() y exec(), y puede pasarse a través de una socket unix.
Completar un contexto desde otro espacio de nombres de usuario está permitido intencionalmente. vfs_cmd_create() autoriza la creación mediante mount_capable(), lo cual, para FS_USERNS_MOUNT, verifica ns_capable(fc->user_ns, CAP_SYS_ADMIN), y esto tiene éxito si una tarea posee CAP_SYS_ADMIN en un ancestro del fc->user_ns. Por tanto, una tarea no privilegiada puede alcanzar el WARN_ON() en ovl_fill_super(): crear un usuario y un espacio de nombres de montaje en un proceso hijo, llamar a fsopen("overlay") allí, enviar el fd del contexto de sistema de archivos al padre y permitir que este emita FSCONFIG_CMD_CREATE. Ambos espacios de nombres provienen de una llamada simple a unshare(1) y no se requiere ninguna capacidad (capability) en ningún lugar:
WARNING: fs/overlayfs/super.c:1551 at ovl_fill_super+0x7b9/0x1e20 [overlay]
CPU: 3 UID: 1000 PID: 3243376 Comm: fswarn Call Trace: get_tree_nodev+0x71/0xa0 ovl_get_tree+0x15/0x20 [overlay]
vfs_get_tree+0x2a/0x100 vfs_cmd_create+0x60/0xf0 __do_sys_fsconfig+0x4b2/0x500
El proceso hijo necesita el espacio de nombres de montaje porque fsopen() mismo se rige por may_mount(), lo cual solicita CAP_SYS_ADMIN en el espacio de nombres de usuario que posee el espacio de nombres de montaje del llamador. fsconfig() no repite esa comprobación.
Se trata de un WARN_ON() y no de un WARN_ON_ONCE(), por lo que la condición puede activarse en un bucle para contaminar (taint) el núcleo e inundar los registros, y provoca una panic si se arranca con panic_on_warn.
Seguir rechazando el montaje y dejar de emitir advertencias al respecto. ovl_parse_param() ya especifica una comprobación del espacio de nombres de usuario de esta manera para Opt_override_creds.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.