9 min de lectura

Varios fallos de seguridad de Tailscale corregidos en la 1.98.9

Tailscale publica correcciones para múltiples vulnerabilidades en SSH, Serve y Services, incluidas varias que permitían acceso root no intencionado.

Imagen: Hacker News

Varios fallos de seguridad de Tailscale corregidos en la versión 1.98.9.

Tailscale ha publicado un lote de boletines de seguridad que cubren varios problemas en Tailscale SSH, Serve, Funnel, Services y clientes macOS. La mayoría de los fallos corregidos requieren actualizar a la versión 1.98.9 o posterior, con un problema de macOS corregido en la 1.94.0 y un fallo en la interfaz web corregido en la 1.98.0.

Varias de las vulnerabilidades permitían omitir ACL o acceder a sockets privilegiados de Unix, con dos vías separadas que daban lugar a acceso root por SSH no intencionado.

---

TS-2026-009: El análisis de nombres de usuario en Tailscale SSH permitía acceso root

Descripción: El manejo inseguro de argumentos de línea de comandos en Tailscale SSH permitía el acceso como usuario root en violación de las ACL.

Recomendado

El laboratorio de Mira Murati presenta Inkling, un modelo abierto de 975 000 millones de p

Tailscale informa que Tailscale SSH aceptaba anteriormente nombres de usuario que comenzaban con un guion ('-') en Linux. Estos se pasaban directamente a getent(1) para resolver la información del usuario y se interpretaban como opciones en lugar de como nombres de usuario.

Específicamente, un usuario que se conectara con el nombre de usuario -i activaría --no-idn, lo que hacía que getent imprimiera todo el archivo passwd empezando por el usuario root. Tailscale abría entonces una sesión interactiva como root.

Tailscale SSH ahora rechaza nombres de usuario con guiones iniciales. Corregido en Tailscale 1.98.9 o posterior.

Impacto:

Un usuario con acceso SSH a un nodo Linux podía obtener una sesión root conectándose con el nombre de usuario -i, incumpliendo la política de ACL.

Quiénes se vieron afectados:

Usuarios de Tailscale SSH en hosts Linux que dependen de las restricciones autogroup:nonroot en las ACL de Tailscale.

Acción:

Si usas Tailscale SSH, actualiza a la 1.98.9 o posterior.

Tailscale acredita a Anthropic y Ada Logics por informar de este fallo.

---

Otros arreglos en la 1.98.9: SSH, Services, Serve y Funnel

Varios fallos adicionales se corrigen en esa misma versión 1.98.9.

TS-2026-008: Bloqueo de CPU en Serve/Funnel mediante una petición HTTP malformada

Una única petición HTTP malformada a un nodo que ejecuta Tailscale Serve o Funnel podía dejar fijado indefinidamente un núcleo de CPU.

Tailscale recorría las rutas de la petición hacia arriba asumiendo que empezaban con '/'. Para rutas que no comenzaban con '/', el recorrido nunca alcanzaba '/', provocando un bucle infinito sin tiempo de espera de la petición y una goroutine reteniendo un núcleo al 100% durante toda la vida del proceso.

Tailscale ahora termina el recorrido de la ruta para rutas no absolutas, no devuelve ningún manejador y cierra la solicitud. Corregido en 1.98.9 o posterior.

Impacto: Cualquier par (para Serve) o host de Internet no autenticado (para Funnel) podía enviar una petición HTTP diseñada para consumir permanentemente un núcleo de CPU.

Afectados: Nodos que ejecuten Tailscale Serve o Funnel anteriores a la 1.98.9.

Tailscale acredita a Anthropic y Ada Logics.

TS-2026-007: Services podía alcanzar oyentes exclusivos de loopback

En Tailscale Services, los nodos que anunciaban servicios podían aceptar tráfico entrante en las IP de servicio por puertos que no anunciaban. Los paquetes dirigidos a esos puertos se reenviaban a cualquier proceso en la interfaz de loopback del host que estuviera escuchando en ese puerto.

Tailscale ahora filtra y rechaza dichos paquetes con el correspondiente TCP RST cuando no existe un manejador. Corregido en 1.98.9 o posterior.

Impacto: Un usuario con acceso por ACL a un Service de Tailscale podía alcanzar procesos ligados únicamente a loopback en el nodo anfitrión dirigiéndose al servicio en puertos no anunciados.

Afectados: Usuarios de Tailscale Services que dependen de restricciones de acceso solo por loopback.

TS-2026-006: Inicio de sesión SSH por UID eludía las ACL de root

Tailscale SSH permitía previamente que los usuarios fueran direccionados por nombre de usuario o por UID numérico, pero las restricciones de root solo se aplicaban a los nombres de usuario.

Un usuario con acceso SSH sin privilegios podía hacer SSH como 0@host y obtener root en violación de las ACL. Tailscale ahora ha deshabilitado UIDs o nombres de usuario formados solo por números a través de SSH. Corregido en 1.98.9 o posterior.

Afectados: Tailscale SSH en hosts Linux/Unix que confían en las ACL autogroup:nonroot.

Tailscale acredita a Tim Hoffman (GM).

TS-2026-005: Un operador de Serve sin privilegios podía hacer proxy a sockets privilegiados

Tailscale Serve puede hacer proxy a sockets de dominio Unix como unix:/var/run/docker.sock. Usuarios locales no root configurados como operador de Tailscale pueden escribir la configuración de Serve a través del LocalAPI.

Tailscale restringía los destinos de rutas de sistema de archivos al usuario root, pero esta comprobación no incluía los destinos de proxy a sockets Unix. Un operador sin privilegios podía provocar que el proceso tailscaled, ejecutándose como root, hiciera proxy hacia sockets Unix privilegiados, eludiendo los permisos del sistema de archivos.

Los destinos de proxy a sockets Unix ahora están restringidos al usuario root. Corregido en 1.98.9 o posterior.

Afectados: Hosts Linux/Unix que ejecuten Serve donde esté configurado un operador no root y existan sockets Unix privilegiados (Docker, containerd, CRI).

Tailscale acredita a Tim Sageser (dtrsecurity).

TS-2026-004: Reenvío de sockets Unix por SSH y abuso de enlaces simbólicos

Tailscale SSH admite el reenvío de sockets Unix, pero sus comprobaciones de permisos solo realizaban una coincidencia léxica de la ruta. Un atacante podía crear un enlace simbólico que poseyera (por ejemplo /home/$USER/my.sock) que apuntara a un socket privilegiado como /var/run/docker.sock.

Como Tailscale se ejecuta como root, vinculaba el destino privilegiado sobre SSH. Tailscale SSH ahora comprueba la existencia de enlaces simbólicos y valida los destinos resueltos frente a listas de permitidos, denegando cualquier destino fuera de ellas. Corregido en 1.98.9 o posterior.

Afectados: Tailscale SSH en hosts Linux/Unix compartidos que confían en los permisos del sistema de archivos para sockets Unix.

Tailscale vuelve a acreditar a Tim Sageser (dtrsecurity).

---

Exposición de tokens OAuth en registros de auditoría (TS-2026-003)

El servidor de coordinación de Tailscale emite registros de auditoría para cambios de configuración, incluida la creación de credenciales de acceso. Un fallo provocaba que registrara tokens de acceso completos de clientes OAuth en esos registros.

Esto hacía que los tokens fueran visibles para otros actores con acceso a los registros de auditoría.

Impacto: Un administrador de tailnet con acceso a los registros podía recuperar tokens OAuth y usarlos para llamar a la API de Tailscale dentro de la validez de una hora del token.

Afectados: Todos los tailnets que usaron Clientes OAuth para crear tokens de acceso desde el 1 de marzo de 2026 hasta el 29 de mayo de 2026.

Tailscale ha pasado a un registro redactado para los nuevos tokens. Los tokens tienen una vida máxima de una hora, por lo que los tokens históricos ya han caducado. No se requiere ninguna acción por parte de los clientes.

Tailscale acredita a Conor Power (Snapchat).

---

Bypass de ACL en la Web UI, RCE en tssentineld de macOS y fallo en Tailnet Lock

TS-2026-002: Bypass de ACL en rutas de la interfaz web

La interfaz web local de Tailscale puede exponerse a otros pares del tailnet y es de solo lectura por defecto. Los administradores pueden conceder permisos para cambiar ajustes mediante ACL.

Un fallo en el manejador /api/routes restablecía tanto el nodo de salida activo como las rutas de subred anunciadas cuando se le daba un cuerpo de petición vacío, incluso sin los permisos exitNodes o subnets.

Impacto: Un nodo malicioso del tailnet podía deshabilitar el nodo de salida y borrar las subredes anunciadas en nodos que ejecutaran la interfaz web, si podía pasar los controles de inicio de sesión y tenía acceso por ACL al puerto 5252.

Afectados: Nodos Linux, macOS y Windows que ejecutaran Tailscale entre la 1.56.0 y la 1.98.0 con la interfaz web habilitada explícitamente.

Corregido en la 1.98.0 y posteriores. Tailscale acredita a N0zoM1z0.

TS-2026-001: Ejecución arbitraria de comandos en tssentineld de macOS

tssentineld es un servicio launchd en macOS instalado cuando la política MDM AlwaysOn.Enabled está presente. Se ejecuta como root y relanza Tailscale.app si se termina.

La implementación usaba NSTask y /bin/sh -c sudo -u [username] con sustitución básica de cadenas. Un atacante que pudiera controlar el nombre de usuario o la memoria que lo respalda podía inyectar comandos que se ejecutaran con privilegios de root.

Impacto: Usuarios locales maliciosos capaces de manipular su nombre de usuario o la memoria de tssentineld podían ejecutar comandos arbitrarios como root.

Afectados: La variante autónoma para macOS desde la 1.84.0 hasta la 1.92.3, cuando está configurada vía MDM con AlwaysOn.Enabled. El paquete de macOS en la App Store no está afectado.

Corregido en Tailscale 1.94.0 o posterior.

Para este problema, Tailscale señala que tssentineld solo se activa en clientes gestionados por MDM con AlwaysOn habilitado y requiere permiso de administrador para instalarse y activarse. La manipulación de memoria requeriría una vulnerabilidad separada o acceso root existente, aunque la modificación del nombre de usuario por sí sola podría ser suficiente para provocar la ejecución elevada de comandos.

---

El boletín también hace referencia a TS-2025-008, una falla en la aplicación de Tailnet Lock en nodos que carecen de un directorio de estado, pero el texto proporcionado termina antes de los detalles de la corrección. Todos los problemas de la serie 2026 anteriores tienen correcciones concretas enviadas y rutas de actualización documentadas, con varios créditos a investigadores y empresas externas.

Ava Chen

AI Editor

Ava covers the rapidly evolving world of artificial intelligence, from foundational models and research labs to the real-world economics of intelligence. With a background in computational linguistics, she cuts through the hype to find out what actually works. She firmly believes that benchmarks are just marketing until reproduced in the wild.

vía Hacker News

// Sigue leyendo