Microsoft detecta 14 paquetes maliciosos en npm diseñados para robar claves de AWS y secretos de GitHub Actions

Microsoft detecta 14 paquetes maliciosos en npm diseñados para robar claves de AWS y secretos de GitHub Actions

Ciberdelincuentes aprovecharon el entorno legítimo Bun para exfiltrar secretos de sistemas de compilación.

image

Se encontró una vulnerabilidad en Linux que muestra cómo un fallo sutil en la intersección entre el núcleo y las utilidades del sistema puede convertirse en un control total de la máquina. El problema se llamó CIFSwitch, y el hallazgo de la cadena lo facilitaron modelos de lenguaje a los que se les proporcionó una herramienta para trabajar con un grafo de relaciones entre objetos, comprobaciones y procesos privilegiados.

El autor del estudio informó sobre una vulnerabilidad local de elevación de privilegios en Linux. El fallo no afecta a todos los sistemas, sino solo a distribuciones y configuraciones concretas en las que coinciden varias condiciones. Aún no se ha asignado un número CVE al problema, pero la corrección lleva más de una semana disponible y ha sido programada 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 usa 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 solicita, a través de los keyrings de Linux, una clave del tipo cifs.spnego. Tras dicha petición, la regla estándar request-key ejecuta cifs.upcall con la identidad root para preparar los datos de Kerberos/SPNEGO.

El fallo ocurría porque, antes de la corrección, el núcleo no verificaba el origen de la descripción de la clave cifs.spnego. Un proceso no privilegiado habitual podía invocar directamente request_key() con una descripción falsa, y el sistema lanzaba el asistente cifs.upcall con privilegios de root igual que en una petición legítima desde CIFS. En esos datos se podían insertar pid, uid, creduid y upcall_target, que afectan la selección de credenciales y del espacio de nombres.

La parte crítica de la cadena giraba en torno a upcall_target=app. El asistente cifs.upcall aceptaba el pid falso como si proviniera del núcleo y entraba en los espacios de nombres del proceso indicado por el atacante. A continuación, aún antes de la revocación final de privilegios, se realizaba la búsqueda de la cuenta a través de NSS.

En el espacio de nombres controlado, el atacante podía sustituir nsswitch.conf y obligar al proceso root a cargar su propio módulo libnss_.so.2. En el código de demostración esa carga se utilizó para escribir una regla en sudoers.d.

Son vulnerables los sistemas con una versión afectada del núcleo, con cifs-utils instalado y la regla cifs.spnego, con los user y mount namespaces no privilegiados permitidos, 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 para cifs-utils las versiones más a menudo peligrosas son la 6.14 y posteriores, aunque backports puntuales podrían haber afectado compilaciones más antiguas.

Para protegerse, los administradores pueden instalar el núcleo corregido, desactivar el módulo CIFS, eliminar cifs-utils si el paquete no es necesario, sustituir la regla request-key para cifs.spnego por una segura o deshabilitar los user namespaces no privilegiados. El autor también publicó una prueba de concepto (PoC) con la que se puede comprobar si un sistema concreto está protegido contra el ataque.