Tailscale SSH forwarding flaws let permitted sessions reach root-only sockets
Tailscale published four security bulletins on October 26, fixed in 1.104.4. The worst, TS-2026-014, let an authenticated Tailscale SSH peer allowed to forward ports reach root-only sockets such as Docker or the tailscaled local API.
Tailscale published four security bulletins on October 26, all fixed in version 1.104.4. In TS-2026-014, Tailscale SSH checked forwarding paths lexically and then performed the forwarding as root, so an authenticated peer whose access policy allowed ssh -L or ssh -R could reach root-only Unix sockets such as the Docker socket or the tailscaled local API. The Hacker News reported that a timing race let the path be swapped after the check, and that Tailscale received the report on October 24. TS-2026-016 let Serve forwards to Unix sockets dial as root, enabling full node takeover through the local API. TS-2026-015 is a memory exhaustion bug that can crash tailscaled, and TS-2026-017 let one HTTP/2 stream receive another mount's Tailscale-App-Capabilities header. Tailscale SSH servers run on Linux and the open-source macOS build.
Why it matters
Tailscale SSH replaces keys and passwords with device identity and a policy file, which makes the policy the whole authorization decision. These bugs turned "this user may open a shell as alice" into "this user may act as root", because the session's forwarding ran with the daemon's privileges rather than the user's. SSH check mode does not help, since it guards the start of a session, not what happens inside it.
Update SSH servers to 1.104.4 or later. Until then, set TS_SSH_DISABLE_FORWARDING=1 in the tailscaled service environment and restart. Review the SSH section of your policy so only the users and devices that need access have it, and prefer narrow device-to-device rules. If a server may already be compromised, delete the device in the admin console, since reimaging does not revoke a stolen device key. Headscale 0.29.5 does not include these fixes.
Source: Tailscale security bulletins
Related on Start with Identity
- BlogDocker Hub GhostPat flaw let account conversion hand access tokens to any victim
CVE-2026-105445 (CVSS 9.4): for two years, converting a Docker Hub account into an organization re-assigned its personal access tokens to whoever was named owne
- BlogDocker Sandboxes copy flaw let an AI agent reach host files such as cloud keys and SSH keys
A symlink flaw in the Docker Sandboxes copy command, CVE-2026-103916, let an AI coding agent inside the sandbox read or write host files outside its allowlist,
- BlogLangflow flaws let attackers bypass authentication and run code; only 1.13.0 fixes them
IBM's October 28 bulletin covers four Langflow flaws in every release from 1.0.0 to 1.12.8, including CVE-2026-93680, a 9.8-rated authentication bypass a public
- CVEFreeIPA idp-add evaluates input before checking the caller's rights
Any authenticated FreeIPA principal could push --organization or --base-url values into an eval() call that ran before the access check, reading the server proc
- CVEKeycloak authorization bypass
Keycloak failed an authorization check, so a caller could reach a resource their role should have blocked. Part of the April 2024 RHSA-2024:1868 set with CVE-20
- CVEKeycloak UMA policy privilege escalation
Keycloak's UMA policy engine checked only the first resource in a request (CWE-266). Additional resources skipped the check. A privilege escalation in user-mana