Una nueva falla de escalada de privilegios local en el kernel de Linux, bautizada como 'CIFSwitch', permite a atacantes falsificar descripciones de claves de autenticación CIFS, explotar el mecanismo de solicitud de claves del kernel y obtener privilegios de root. La vulnerabilidad, registrada como CVE-2026-46243, afecta a múltiples distribuciones de Linux que incluyen combinaciones vulnerables del kernel CIFS y cifs-utils (versiones 6.14 y superiores, aunque algunas variantes más antiguas también están afectadas).

CIFS (Common Internet File System) es un protocolo de red que permite el acceso a archivos, carpetas y dispositivos en una red local. Linux lo utiliza para montar, leer y escribir datos en sistemas remotos. Cuando un recurso compartido CIFS emplea Kerberos para autenticación, el kernel de Linux solicita a un programa auxiliar en espacio de usuario que realice la autenticación, siendo la colección de herramientas de espacio de usuario cifs-utils el intermediario.

El kernel solicita una clave de tipo cifs.spnego, y la configuración normal de keyutils/request-key ejecuta cifs.upcall como root para obtener o construir el material Kerberos/SPNEGO. El problema radica en que el subsistema CIFS del kernel no verifica que las solicitudes de clave cifs.spnego provengan del cliente CIFS del kernel, permitiendo a un usuario no privilegiado crear una solicitud falsificada que active el flujo de autenticación normal.

La vulnerabilidad permite que el auxiliar cifs.upcall, ejecutado como root, confíe en campos controlados por el atacante que este asume fueron generados por el kernel. Abusando de estos campos para forzar un cambio de espacio de nombres y activar una búsqueda del Servicio de Conmutación de Nombres (NSS) antes de que se eliminen los privilegios, un atacante local puede cargar un módulo NSS malicioso y lograr la ejecución de código como root. Asim Viladi Oglu Manizada, ingeniero de seguridad de SpaceX, descubrió y nombró esta vulnerabilidad, publicando un informe técnico detallado sobre su causa y explotación.

Impacto, correcciones y exploit

Manizada señala que CIFSwitch se introdujo hace 19 años, en 2007, y que no es universal: su explotación depende de factores como una versión vulnerable del kernel, una versión vulnerable de cifs-utils, la disponibilidad de espacios de nombres de usuario y políticas de SELinux/AppArmor que no bloqueen el ataque. Algunas distribuciones confirmadas como vulnerables con su configuración predeterminada son: Linux Mint 21.3 / 22.3, CentOS Stream 9, Rocky Linux 9, AlmaLinux 9, Kali Linux 2021.4–2026.1 y SLES 15 SP7.

El investigador señaló que varias versiones de Ubuntu, Debian, Pop!_OS, openSUSE, Oracle Linux y Amazon Linux también podrían ser vulnerables si tienen instalado 'cifs-utils'. Sin embargo, versiones como Ubuntu 26.04, Fedora 40-44, CentOS Stream 10, Rocky Linux 10, SLES 16, AlmaLinux 10 y openSUSE Leap 16 tienen configuraciones predeterminadas de SELinux/AppArmor que evitan la explotación de CIFSwitch. Además, Amazon Linux 2 y Kali Linux 2019.4 y 2020.4 no están afectados, ya que sus versiones de cifs-utils carecen de la funcionalidad de cambio de espacio de nombres.

CIFSwitch ha sido corregido mediante un parche del kernel que añade validación del origen de las solicitudes de clave cifs.spnego (commit upstream 3da1fdf), aunque las versiones exactas del kernel que incluyen el parche varían según la distribución. Manizada recomienda a los usuarios deshabilitar o bloquear el módulo CIFS si no se utiliza, eliminar el paquete cifs-utils si no es necesario y desactivar los espacios de nombres de usuario no privilegiados. El investigador publicó un exploit de prueba de concepto (PoC) para CIFSwitch, que ayuda a las organizaciones a validar la efectividad de los parches y mitigaciones aplicadas.

CIFSwitch es la más reciente de una serie de fallas de elevación de privilegios en sistemas Linux divulgadas recientemente, incluyendo 'Copy Fail', 'Dirty Frag', 'Fragnesia', 'DirtyDecrypt' y 'PinTheft'.

image
image
article image
article image