Alert

Alert 2026-127 Vulnerabilities in Tailscale SSH and Tailscale Serve allow privilege escalation and denial of service

Affected product(s): 

ProductAffected versions
Tailscale (client and tailscaled service) with Tailscale SSH, whose server is only available on open-source Linux and macOS (TS-2026-014 and TS-2026-015)Versions earlier than 1.104.4
Tailscale (client and tailscaled service) with Tailscale Serve (TS-2026-016 and TS-2026-017)Versions earlier than 1.104.4

The provider does not indicate a minimum affected version.

Description

Four vulnerabilities have been published in Tailscale’s Tailscale SSH and Tailscale Serve features, which may allow privilege escalation, node takeover, and denial of service. The provider documented them in bulletins TS-2026-014 through TS-2026-017, did not assign CVE identifiers or CVSS scores, and did not indicate a severity.

Exploiting them requires prior access to an authorized device on the private network (tailnet). The provider indicated that they do not allow an unauthenticated attacker to connect to arbitrary Tailscale SSH servers, only reaching devices whose access is already permitted by policy, and that they are not self-replicating malicious software. No active exploitation was reported.

TS-2026-014: Unix socket forwarding in Tailscale SSH

The Tailscale SSH server, which runs as root within tailscaled, validated Unix socket paths only lexically and performed forwarding as root, in both local forwarding (-L) and remote forwarding (-R), and was also affected by a race condition. A peer authorized by policy can thus reach sockets accessible only to root, such as the Docker socket or the local tailscaled API. This affects users who have Tailscale SSH with local or remote forwarding permitted by policy.

TS-2026-015: memory exhaustion in SSH sessions

An authenticated peer with an SSH session permitted by policy can cause unbounded memory growth in tailscaled through window-change messages and the addition of environment variables. This can cause the process to terminate due to insufficient memory and disrupt all Tailscale connections on the node.

TS-2026-016: Unix sockets in Tailscale Serve

Tailscale Serve has two weaknesses in Unix socket-type destinations. TCP forwards were performed as root and allowed data to be sent directly to the local tailscaled API, which could lead to complete node takeover. In addition, symlink protection was only applied when reloading the configuration, allowing connections as root to arbitrary sockets accessible only to root. This affects nodes where a local operator can write Serve configurations or where local users have write permission over the paths of configured destinations.

TS-2026-017: mixed capabilities in Tailscale Serve with TLS

A race condition in Tailscale Serve with TLS and HTTP/2 can cause incorrect values of the Tailscale-App-Capabilities header to be sent between different mounts. An application that authorizes a peer based on that header could make erroneous decisions and deliver privileged responses from another mount. This affects nodes running Serve with TLS and at least two mounts with differing capability requirements.

Mitigation

For TS-2026-014, the provider identified the following mitigation: set the following environment variable in the tailscaled service and restart it. This disables SSH forwarding without disabling the rest of Tailscale SSH:

TS_SSH_DISABLE_FORWARDING=1

For TS-2026-015, TS-2026-016, and TS-2026-017, the provider does not indicate any mitigations and recommends updating. It also recommends reviewing Tailscale SSH policies to limit access.

Solution

The solution is to update Tailscale to version 1.104.4 or later, released on 27/10/2026, which fixes all four bulletins. Nodes with Tailscale SSH or Tailscale Serve enabled should be prioritized.

For information on how to update, visit the following link:

https://tailscale.com/kb/1067/update

Additional information: