A single compromised device on a Tailscale network can be used to gain root access to other servers it can reach, according to the Tailworm report published on October 25 by researcher Erica Windisch of Cyberdione Labs. The report describes eleven vulnerabilities in Tailscale SSH and related features. At publication Tailscale had released no patch and assigned no CVE, though it has publicly said it is working on a fix.

Psst!Add AlexTech.ai asPreferred Source on Google

The attack needs two conditions. Tailscale SSH must be set up to allow port forwarding, and the attacker must already control a device that the network's access rules permit to connect to the target. From there, the attacker exploits privilege escalation flaws to become root on that node and then moves to other servers.

Tailscale SSH Flaws official product photo

Image: tailscale.com — https://tailscale.com

The mechanism rests on how Tailscale SSH works. Unlike a normal SSH server, it does not check a user's password or key: it identifies the device, and a single access rule decides whether that device may open an SSH session to a target. That is why no stolen credentials are needed. According to the report, the most serious flaws stem from Tailscale SSH running with root privileges; local port forwarding (ssh -L), for example, grants access to sockets normally restricted to root, allowing sensitive files such as /etc/shadow to be read.

Windisch tested for three days on Tailscale 1.104.2 and headscale 0.29.5, the self-hosted server some networks use instead of the company's hosted service. The tests were run in a lab, not on real networks. The findings were sent privately to Tailscale's security contact, and the proof-of-concept code is not public.

The report's most effective protection is precise access rules: one source-to-destination pair per device and target, with broad rules based on identity or tags removed. In testing, the researcher says, this was the only control that stopped the spread. While waiting for a patch, the advice is also to disable SSH on nodes that do not need it and to check which devices can reach sensitive servers.