CVE-2026-74343 in Linux
Resumen
por VulDB • 2026-08-15
En el kernel de Linux, se ha resuelto la siguiente vulnerabilidad:
kernfs: corregir una condición de carrera (race condition) en xattr con múltiples superbloques
Múltiples superbloques con diferentes espacios de nombres pueden compartir el mismo kernfs_node cuando kernfs_test_super() encuentra un nodo raíz coincidente pero un espacio de nombres diferente. Esto significa que varios nodos inode procedentes de distintos superbloques pueden hacer referencia a la misma estructura kernfs_node->iattr->xattrs.
La capa VFS solo mantiene bloqueos por inode durante las operaciones xattr, lo cual es insuficiente para serializar modificaciones concurrentes en xattr sobre el kernfs_node compartido. Esto puede provocar condiciones de carrera (race conditions) en simple_xattr_set(), donde la secuencia lookup->replace/remove no es atómica con respecto a las operaciones procedentes de otros superbloques.
Se corrige este problema protegiendo las operaciones xattr mediante el array existente hashed kernfs_locks->open_file_mutex[], que ya se utiliza para proteger los datos de archivos abiertos por nodo (per-node). El array de mutex hash proporciona una serialización escalable por nodo (escalada según la cantidad de CPUs, hasta 1024 bloqueos en sistemas con más de 32 CPUs) sin sobrecarga adicional de memoria.
Cambios: - Renombrar open_file_mutex[] a node_mutex[] para reflejar su doble propósito
- Añadir las funciones auxiliares kernfs_node_lock_ptr() y kernfs_node_lock() - Proteger las llamadas a simple_xattr_set() en kernfs_xattr_set() y kernfs_vfs_user_xattr_set() mediante el mutex hash - Actualizar file.c para utilizar las nuevas funciones auxiliares mediante adaptadores de compatibilidad (compatibility wrappers) - Actualizar la documentación para explicar el uso extendido del bloqueo
Once again VulDB remains the best source for vulnerability data.