【Análise de segurança】Tailscale é exposto por 11 vulnerabilidades
Recentemente, uma solução de proteção de servidores tem circulado entre desenvolvedores: fechar a porta SSH pública e substituir o acesso remoto tradicional pelo Tailscale. No entanto, o relatório Tailworm, publicado em 25 de outubro, abalou essa ideia.
A pesquisadora de segurança Erica Windisch revelou que o Tailscale e sua bifurcação de código aberto, headscale, apresentam 11 falhas de segurança, sendo que o problema mais difícil de resolver está concentrado na função SSH integrada.
De acordo com a análise dos caminhos de ataque divulgada, invasores não precisam quebrar a camada de criptografia da VPN. Basta ter acesso a um dispositivo autorizado a usar o Tailscale SSH e que o servidor-alvo permita o encaminhamento SSH para que seja possível elevar privilégios gradualmente até root.
A causa principal das vulnerabilidades está em falhas no isolamento de privilégios. O processo do servidor Tailscale é executado como root, e algumas operações de encaminhamento herdam essa permissão. Em testes, por meio do mecanismo de encaminhamento de Unix Sockets, a pesquisadora conseguiu contornar as restrições de uma conta comum e obter controle total do servidor usando um contêiner Docker.
A segunda cadeia de ataque visa o processo de registro de dispositivos. Em um ambiente de teste sem o Tailnet Lock, o invasor interceptou a chave de registro e inseriu um nó de servidor falso.
Vale observar que esta não é a primeira vez que o Tailscale enfrenta um problema semelhante. Em junho deste ano, a empresa corrigiu uma vulnerabilidade de escalonamento de privilégios no encaminhamento de Unix Sockets via SSH e, na mesma época, bloqueou o caminho que permitia obter privilégios de root por meio do UID `0`. Em julho, corrigiu também uma falha que permitia contornar as verificações de permissão usando o nome de usuário especial `-i`. Agora, a pesquisadora voltou a encontrar uma vulnerabilidade de escalonamento de privilégios no mesmo mecanismo de encaminhamento.
Mike Shaver, vice-presidente de engenharia da Tailscale, respondeu que a equipe confirmou o problema de elevação de privilégios após a autorização SSH, mas ainda não verificou integralmente todas as conclusões do relatório. Ele também não recomenda que os usuários desativem completamente a função Tailscale SSH.
No próprio dia 25 de outubro, a equipe de engenharia enviou várias propostas de reformulação do SSH ao GitHub, com o objetivo de reduzir os privilégios usados nas operações de encaminhamento, de root para os do usuário conectado. As correções relacionadas devem ser publicadas em versões futuras.
Recentemente, uma solução de proteção de servidores tem circulado entre desenvolvedores: fechar a porta SSH pública e substituir o acesso remoto tradicional pelo Tailscale. No entanto, o relatório Tailworm, publicado em 25 de outubro, abalou essa ideia.
A pesquisadora de segurança Erica Windisch revelou que o Tailscale e sua bifurcação de código aberto, headscale, apresentam 11 falhas de segurança, sendo que o problema mais difícil de resolver está concentrado na função SSH integrada.
De acordo com a análise dos caminhos de ataque divulgada, invasores não precisam quebrar a camada de criptografia da VPN. Basta ter acesso a um dispositivo autorizado a usar o Tailscale SSH e que o servidor-alvo permita o encaminhamento SSH para que seja possível elevar privilégios gradualmente até root.
A causa principal das vulnerabilidades está em falhas no isolamento de privilégios. O processo do servidor Tailscale é executado como root, e algumas operações de encaminhamento herdam essa permissão. Em testes, por meio do mecanismo de encaminhamento de Unix Sockets, a pesquisadora conseguiu contornar as restrições de uma conta comum e obter controle total do servidor usando um contêiner Docker.
A segunda cadeia de ataque visa o processo de registro de dispositivos. Em um ambiente de teste sem o Tailnet Lock, o invasor interceptou a chave de registro e inseriu um nó de servidor falso.
Vale observar que esta não é a primeira vez que o Tailscale enfrenta um problema semelhante. Em junho deste ano, a empresa corrigiu uma vulnerabilidade de escalonamento de privilégios no encaminhamento de Unix Sockets via SSH e, na mesma época, bloqueou o caminho que permitia obter privilégios de root por meio do UID `0`. Em julho, corrigiu também uma falha que permitia contornar as verificações de permissão usando o nome de usuário especial `-i`. Agora, a pesquisadora voltou a encontrar uma vulnerabilidade de escalonamento de privilégios no mesmo mecanismo de encaminhamento.
Mike Shaver, vice-presidente de engenharia da Tailscale, respondeu que a equipe confirmou o problema de elevação de privilégios após a autorização SSH, mas ainda não verificou integralmente todas as conclusões do relatório. Ele também não recomenda que os usuários desativem completamente a função Tailscale SSH.
No próprio dia 25 de outubro, a equipe de engenharia enviou várias propostas de reformulação do SSH ao GitHub, com o objetivo de reduzir os privilégios usados nas operações de encaminhamento, de root para os do usuário conectado. As correções relacionadas devem ser publicadas em versões futuras.
