Fallas sin parche en Tailscale SSH: qué revisar mientras llega el arreglo

Fallas sin parche en Tailscale SSH: qué revisar mientras llega el arreglo
0 0 votos
Valora la Publicación

La investigadora Erica Windisch, de Cyberdione Labs, publicó el 25 de octubre de 2026 un reporte con 11 fallas en Tailscale, entre ellas tres de severidad alta en Tailscale SSH: desde un equipo ya comprometido, un atacante puede llegar a root en otros servidores de la red. El reporte se llama Tailworm.

Al momento de publicar esta nota no hay parche, ni CVE, ni boletín oficial para estas fallas en la página de boletines de seguridad de Tailscale. La mitigación disponible es de configuración: ajustar las reglas de SSH y apagar el reenvío de puertos donde no haga falta.

Qué es Tailscale SSH

Tailscale arma una red privada entre los equipos de una organización (una «tailnet») sobre WireGuard, sin abrir puertos a internet. Quién puede hablar con quién se define en reglas de acceso centralizadas, las ACL.

Tailscale SSH es una función que reemplaza las claves SSH tradicionales: el servicio tailscaled de cada servidor recibe la conexión y decide, según esas reglas, quién puede entrar y con qué usuario. Para hacerlo, tailscaled corre como root.

El reenvío de puertos (port forwarding) es la opción de SSH que permite usar la conexión como túnel hacia otros servicios del servidor, con ssh -L o ssh -R. Ahí está el problema.

Cómo funciona el ataque

Las tres fallas altas (1 a 3 del reporte) están en el reenvío de unix sockets, los archivos especiales que usan los servicios de un servidor Linux para comunicarse entre sí. Varios de esos sockets solo los puede usar root, porque quien los controla controla el servicio.

  • Falla 1: con ssh -L, el proceso de Tailscale (que es root) se conecta a un socket restringido a root en nombre del atacante. Según el reporte, no hace falta sudo, ni pertenecer al grupo de Docker.
  • Falla 2: con ssh -R, el mismo proceso borra un socket de root y pone en su lugar uno del atacante, que pasa a recibir lo que otros servicios le mandan.
  • Falla 3: una condición de carrera (TOCTOU: el sistema chequea una ruta y la usa un instante después, y en ese medio el atacante la cambia) saltea la lista de rutas permitidas.

Según la cobertura de The Hacker News, en el laboratorio la cadena terminó en ejecución como root en el servidor destino, lectura del archivo de contraseñas del sistema y captura de una clave de alta de equipos, con la que se sumó una máquina del atacante a la red como servidor de confianza. Ese último paso solo funcionó donde no estaba activado Tailnet Lock.

Qué necesita el atacante

No alcanza con estar en internet. Hacen falta dos condiciones:

  • Controlar ya un equipo de la tailnet (por una aplicación web vulnerable, un paquete envenenado, phishing o credenciales robadas).
  • Que las reglas de SSH le permitan a ese equipo conectarse al servidor destino con el reenvío habilitado.

Windisch probó Tailscale 1.104.2 y headscale 0.29.5 (la implementación abierta del servidor de control) entre el 22 y el 24 de octubre, en laboratorio. Ella describe el ataque como «wormable», capaz de saltar de servidor en servidor, pero eso se midió solo en el laboratorio y otros investigadores discuten la etiqueta.

Lo que frenó la propagación en sus pruebas: reglas por par (un origen, un destino) en lugar de reglas amplias por usuario o etiqueta, y claves de dispositivo atadas a hardware (TPM o Secure Enclave).

Qué dice Tailscale

Según The Hacker News, Mike Shaver, VP de Ingeniería de Tailscale, escribió en Reddit que recibieron el reporte, que ya venían revisando esas mismas áreas con especialistas externos y que encontraron problemas que están corrigiendo. También dijo que todavía están determinando qué configuraciones están afectadas y que no recomiendan que todo el mundo apague Tailscale SSH.

La empresa no confirmó los detalles técnicos.

Windisch dice que mandó el reporte y la prueba de concepto al contacto de seguridad de Tailscale días antes de publicar, y lo describe como reportado «pero no coordinado». La prueba de concepto no es pública.

Qué hacer ahora

Estas son las mitigaciones del reporte y de la cobertura, para equipos que usan Tailscale SSH:

  • Revisar las reglas de SSH de la política de la tailnet y reemplazar las reglas amplias por usuario o etiqueta por pares concretos de origen y destino.
  • Apagar el reenvío de puertos en cada regla que no lo necesite. En el servicio de Tailscale se define por regla.
  • En headscale 0.29.5 el reenvío no se puede apagar: el reporte aconseja tratar cada permiso de SSH como si fuera acceso root al destino.
  • Activar el vencimiento de claves de nodo y, donde se pueda, Tailnet Lock y claves atadas a TPM o Secure Enclave.
  • Sacar los permisos de app connector a los equipos que no los usan y borrar cualquier tailscale serve que apunte a un unix socket.
  • Si un equipo se comprometió, borrarlo desde el panel de control: reinstalarlo no revoca las claves que ya se copiaron.
  • Dejar las actualizaciones automáticas activadas, para recibir el parche apenas salga.

El reporte aclara que restringir SSH a usuarios sin privilegios ayuda como defensa adicional, pero no corrige estas fallas: el que se conecta al socket es el propio Tailscale, que corre como root.

¿Cuántas reglas de SSH de su tailnet son por par?

Las reglas amplias son cómodas cuando la red es chica y quedan cuando la red crece.

¿Ya revisaron las suyas? Los leemos en los comentarios.

Fuentes

Escrito por

Pablo Ariel Di Loreto

Profesor. Informático. Fanático del helado de dulce de leche. Director de Ingeniería en MODO, y Secretario del Microsoft Users Group Asociación Civil. Además, soy owner de iniciativas como ConoSurTech y Aprender IT.

Ver todas las entradas de Pablo Ariel Di Loreto →
Suscribirse
Notificarme de
guest

0 Comentarios
Viejos
Nuevos Más votados
Scroll al inicio
0
Nos encantaría conocer tu opinión: ¡comenta!x