Productos FTTH

Tienda FFTH desde 2004

Entradas Mensuales

Síguenos en:

Canal Oficial Telegram de elhacker.NET Grupo Facebook elhacker.NET Twitter elhacker.NET Canal Youtube elhacker.NET Comunidad Steam: Grupo elhacker.NET Mastodon

Entradas populares

PostHeaderIcon CIFSwitch abre la puerta a ejecutar código como root en Linux con CIFS y cifs-utils


CIFSwitch es una vulnerabilidad que permite a un usuario local sin privilegios ejecutar código como root en Linux mediante el cliente CIFS y cifs-utils, requiriendo la actualización del kernel o mitigaciones específicas.



  • La vulnerabilidad CIFSwitch permite a un usuario local sin privilegios llegar a root en varias distribuciones Linux si confluyen el cliente CIFS del kernel y cifs-utils en una configuración vulnerable. Ya existe prueba de concepto pública y la solución pasa por actualizar el kernel o aplicar mitigaciones que, en algunos casos, pueden romper montajes SMB con Kerberos.

Un fallo bautizado como CIFSwitch permite a un usuario local sin privilegios ejecutar código como root en sistemas Linux que usen el cliente CIFS del kernel junto con versiones vulnerables de cifs-utils, una combinación relativamente habitual en entornos que montan recursos SMB. La vulnerabilidad ya cuenta con prueba de concepto pública, lo que eleva el riesgo para servidores multiusuario, máquinas de escritorio con varias cuentas y, sobre todo, sistemas que ejecutan cargas no confiables, como runners de CI o laboratorios.

La cadena de ataque mezcla dos piezas. Por un lado, un problema de validación en la gestión de solicitudes de clave cifs.spnego en el cliente CIFS. Por otro, el comportamiento del helper cifs.upcall, que entra en escena mediante el mecanismo request_key. Un atacante puede falsificar una solicitud de cifs.spnego para forzar que el sistema invoque cifs.upcall con privilegios de root.

El detalle crítico está en que cifs.upcall confía en varios campos que el atacante puede controlar dentro de la descripción de esa clave, incluidos pid, uid, creduid y upcall_target. Si el atacante fija upcall_target=app, el helper entra en los namespaces del proceso indicado por el pid y realiza resoluciones NSS antes de soltar privilegios. Ese orden importa. En ese punto, el atacante puede controlar la configuración de /etc/nsswitch.conf en su espacio de nombres y preparar bibliotecas libnss_*.so.2 maliciosas para que se carguen y se ejecuten como root.

La vía vulnerable existe desde 2007, pero no todos los sistemas quedan expuestos por defecto. Se han confirmado configuraciones vulnerables en Linux Mint 21.3 y 22.3, CentOS Stream 9, Rocky Linux 9, AlmaLinux 9, Kali Linux 2021.4 a 2026.1 y SLES 15 SP7. En cambio, algunas distribuciones levantan barreras con SELinux o AppArmor, lo que dificulta o impide completar la explotación en configuraciones por defecto, como Ubuntu 26.04, Fedora 40 a 44, CentOS Stream 10, Rocky Linux 10, SLES 16, AlmaLinux 10 y openSUSE Leap 16. También hay excepciones por implementación: Amazon Linux 2 y Kali Linux 2019.4 y 2020.4 no resultan afectados porque su cifs-utils no incluye la funcionalidad de cambio de espacios de nombres que usa esta cadena.

La corrección principal ya ha llegado al kernel en forma de parche upstream, el commit 3da1fdf4efbc, que rechaza descripciones cifs.spnego aportadas desde espacio de usuario y valida el origen de la solicitud. En el momento de la divulgación pública no constaba un CVE asignado. Aun así, el consejo para administradores es claro: actualizar el kernel a una versión que incluya ese commit y reiniciar.

Si no se puede aplicar el parche de inmediato, las mitigaciones pasan por recortar superficie. En equipos que no necesiten montajes CIFS/SMB, conviene desactivar o poner en lista negra el módulo cifs. Otra opción es retirar cifs-utils en sistemas donde no haga falta Kerberos o SPNEGO. También ayuda desactivar user namespaces sin privilegios cuando el entorno lo permita, aunque esa decisión puede afectar a contenedores rootless, aislamiento en navegadores y aplicaciones tipo Flatpak.

Para quienes deban mantener el módulo cargable, existe una medida quirúrgica: aplicar un override en /etc/request-key.d/cifs.spnego.conf para negar solicitudes cifs.spnego y evitar que se ejecute cifs.upcall. Tiene letra pequeña, rompe montajes nuevos CIFS con Kerberos mientras esté activa. En cualquier caso, conviene inventariar qué máquinas tienen cifs-utils instalado y el módulo cifs activo, y priorizar aquellas con usuarios locales o cargas no confiables. Comprobar la versión del kernel en ejecución con uname -r y validar mitigaciones con pruebas controladas ayuda a confirmar que el sistema no lanza cifs.upcall ante solicitudes no legítimas.

Más información



Fuentes:
https://unaaldia.hispasec.com/cifswitch-abre-la-puerta-a-ejecutar-codigo-como-root-en-linux-con-cifs-y-cifs-utils/

0 comentarios :

Publicar un comentario

Los comentarios pueden ser revisados en cualquier momento por los moderadores.

Serán publicados aquellos que cumplan las siguientes condiciones:
- Comentario acorde al contenido del post.
- Prohibido mensajes de tipo SPAM.
- Evite incluir links innecesarios en su comentario.
- Contenidos ofensivos, amenazas e insultos no serán permitidos.

Debe saber que los comentarios de los lectores no reflejan necesariamente la opinión del STAFF.