A un atacante le basta con sustituir un único archivo para tomar el control total del sistema.

Se descubrió una vulnerabilidad en Linux que muestra cómo un error sutil en la intersección entre el núcleo y las utilidades del sistema puede convertirse en el control total de la máquina. El problema se llamó CIFSwitch, y los modelos de lenguaje a los que se les proporcionó una herramienta para trabajar con el grafo de relaciones entre objetos, comprobaciones y procesos privilegiados ayudaron a descubrir la cadena.
El autor del estudio informó sobre una vulnerabilidad local de elevación de privilegios en Linux. El fallo afecta no a todas las instalaciones, sino solo a ciertas distribuciones y configuraciones en las que se cumplen varias condiciones. Aún no se ha asignado un identificador CVE al problema, pero la corrección lleva más de una semana disponible y ya se ha incluido en la cola para las ramas estables del núcleo. La divulgación pública se coordinó con linux-distros@ tras un embargo hasta el 27 de mayo de 2026.
CIFSwitch está relacionada con el mecanismo CIFS que Linux utiliza para trabajar con recursos de archivos en red SMB. Con la autenticación Kerberos, el núcleo no realiza todo el trabajo por sí mismo, sino que, mediante el mecanismo de keyrings de Linux, solicita una clave del tipo cifs.spnego. Tras esa solicitud, la regla estándar request-key ejecuta cifs.upcall con privilegios de root para preparar los datos de Kerberos/SPNEGO.
La vulnerabilidad se debía a que el núcleo, antes de la corrección, no verificaba el origen de la descripción de la clave cifs.spnego. Un proceso normal sin privilegios podía invocar directamente request_key() con una descripción falsa, y el sistema lanzaba el proceso auxiliar cifs.upcall con privilegios de root igual que ante una petición legítima de CIFS. En la descripción se podían incluir pid, uid, creduid y upcall_target, que influyen en la elección de las credenciales y del espacio de nombres.
La parte crítica de la cadena giraba en torno a upcall_target=app. El proceso auxiliar cifs.upcall aceptaba un pid falso como si procediera del núcleo y cambiaba al espacio de nombres del proceso indicado por el atacante. Luego, antes de la revocación final de privilegios, se realizaba una búsqueda de la cuenta mediante NSS.
En el espacio de nombres controlado, el atacante podía sustituir nsswitch.conf y provocar que el proceso con privilegios de root cargara su propio módulo libnss_*.so.2. En el código de demostración esa carga se empleó para escribir una regla en sudoers.d.
Son vulnerables los sistemas con la versión afectada del núcleo, con el paquete cifs-utils instalado y la regla cifs.spnego presente, con la creación permitida de espacios de nombres de usuario y de montaje sin privilegios, y con políticas SELinux o AppArmor que no bloqueen la cadena. Según el autor, el fallo en el núcleo existía desde 2007, y con cifs-utils las versiones 6.14 y superiores son las que con mayor frecuencia presentan riesgo, aunque backports puntuales de correcciones podrían haber afectado compilaciones más antiguas.
Para protegerse, los administradores pueden instalar un núcleo corregido, desactivar el módulo CIFS, eliminar cifs-utils si no se necesita el paquete, reemplazar la regla request-key para cifs.spnego por una más segura o prohibir los espacios de nombres de usuario sin privilegios. El autor también publicó código de demostración que permite comprobar si un sistema concreto está protegido frente al ataque.