Active threat · 27 Oct 2026
If any Linux host in your tailnet runs Tailscale SSH, treat every device your policy allows to SSH into it as a possible path to root on that host until Tailscale ships a fix. Tailscale says most of the issues it has confirmed are privilege escalation: a user already authorised to connect "may be able to perform actions beyond the permissions of their configured local user, including potentially gaining elevated privileges". The quickest reduction in risk is to switch Tailscale SSH off where you don't need it and to disable SSH forwarding where you do.
On 25 October 2026 Erica Windisch of Cyberdione Labs published Tailworm, a security assessment of Tailscale 1.104.2 and headscale 0.29.5 tested in a lab between 22 and 24 October. It lists 11 findings across Tailscale SSH, tailscale serve, the DERP relay client, the experimental conn25 app connector, and headscale. The researcher described the disclosure as "reported but not coordinated": Tailscale received the report and proof-of-concept code shortly before publication, and the proof of concept is not public (The Hacker News).
The three findings that matter most for most teams are in Tailscale SSH forwarding, all rated high by the researcher:
ssh -L forward made the root tailscaled process connect to a root-only socket on the target. In the lab this gave root command execution and read /etc/shadow.The report calls the chain "wormable", because a compromised server can repeat it against the next server it is allowed to reach. Other researchers have disputed that label, and nobody has publicly reproduced the findings yet. The precondition is not disputed: the attacker must already control a device your policy allows to SSH to the target, for example through a vulnerable web app, a poisoned package, phishing or stolen credentials.
Tailscale's VP of engineering said the company was already reviewing the same areas with outside specialists and had found issues it is fixing. On 26 October Tailscale published an investigation and remediation update confirming that most of what it found is privilege escalation, calling the issues serious, and saying it is "not recommending that everyone disable Tailscale SSH". Public commits in the Tailscale repository from 24 October move forwarding into a separate process that runs as the logged-in user, which addresses the root cause, but as of the latest public reports that change was not yet in a release (Fleet).
tailscale set --ssh or tailscale up --ssh), and Macs running the open-source tailscaled from Homebrew with SSH enabled, where your tailnet policy has an ssh rule that lets other devices in. According to Fleet's analysis, the socket-forwarding issue affects versions 1.98.0 to 1.104.2. Earlier versions miss the previous SSH fixes from bulletin TS-2026-004 (fixed in 1.98.9), so they are not a safe place to be either.autogroup:nonroot. The forwarding ran as root regardless of the local user you log in as.On each Linux host, check the local setting:
tailscale debug prefs | grep -i '"RunSSH"'
Then list the ssh rules in your tailnet policy file and note which sources can reach each of those hosts, and as which users.
Make sure you have another way into the host (OpenSSH, a console, a cloud serial console) before you do this.
sudo tailscale set --ssh=false
tailscaled reads the environment variable TS_SSH_DISABLE_FORWARDING=1 at startup. It blocks TCP, Unix-socket and agent forwarding in both directions, while ordinary interactive Tailscale SSH sessions keep working. Tailscale did not document this variable before the incident, so treat it as a stopgap until the fixed release. On a systemd host:
sudo mkdir -p /etc/systemd/system/tailscaled.service.d
printf '[Service]\nEnvironment=TS_SSH_DISABLE_FORWARDING=1\n' | \
sudo tee /etc/systemd/system/tailscaled.service.d/50-disable-ssh-forwarding.conf
sudo systemctl daemon-reload && sudo systemctl restart tailscaled
Restarting tailscaled drops Tailscale connections for a few seconds, so don't run it over the only Tailscale session you have. If /etc/default/tailscaled sets TS_SSH_DISABLE_FORWARDING=0, remove that line, because it overrides the drop-in. Confirm the running daemon has the setting:
tr '\0' '\n' < "/proc/$(systemctl show -p MainPID --value tailscaled)/environ" | grep TS_SSH_DISABLE_FORWARDING
From an allowed device, a forward should now fail with administratively prohibited:
ssh -N -L 127.0.0.1:9000:/tmp/test.sock <user>@<host>
On a Mac with Homebrew tailscaled, the same variable goes in /etc/tailscale/tailscaled-env.txt, followed by a restart of the daemon. For containers, set it in the environment that starts tailscaled.
ssh rules so each one allows one source to one destination, instead of a group or tag to a whole tag. Never allow root as a target user unless you truly need it.tailscale serve forwards that point at Unix sockets, especially privileged ones.Tailscale has said it is preparing fixes. Watch the Tailscale security bulletins and install the first version listed as fixing these issues on every host running Tailscale SSH. Automatic updates help here. Keep forwarding disabled until the update is on every host, then decide whether you need it at all.
journalctl -u tailscaled for SSH sessions and forwarding requests you can't explain, and look for new Unix sockets outside their usual directories.The broader lesson is about blast radius. Overlay networks make it easy to let everything reach everything, and SSH rules written as "group to tag" turn one compromised laptop into a path to every server. Reviewing who can reach what, as one source to one destination, is a good use of this week whatever the final patch looks like. Our NIS2 pre-assessment covers access control and supply-chain areas if you need to show that review to an auditor.
Not necessarily. Tailscale is not recommending that everyone disable it. Turn it off where nobody uses it, disable forwarding with TS_SSH_DISABLE_FORWARDING=1 where you keep it, and narrow the SSH rules until a fixed version is installed.
Not at the time of writing (27 October 2026). Tailscale confirmed the privilege-escalation issues on 26 October and is preparing fixes; check its security bulletins for the fixed version.
Not directly. The attacker first needs control of a device that your tailnet policy allows to connect to the target over Tailscale SSH. From there, the flaws can turn that access into root on the target.
We review who can reach what across Tailscale, VPNs and SSH, cut access down to one source and one destination, and set up the logging that shows when it's abused.
Get in touch →