Tailscale 1.104.4 修了 SSH 越权:已授权设备能摸到 root 服务,先升再收策略
用 Tailscale SSH 的用户,今天该升一下了。Tailscale 在 10 月 28 日发布 1.104.4,修了内网 SSH 转发里能越权的一组问题。利用门槛不低——攻击者得先拿到你 tailnet 里一台已被授权的设备,但一旦拿到,旧版本上他能摸到本该只有 root 能碰的服务。

对谁有用:开了 Tailscale SSH,还放行了转发的用户
这次的问题出在 Tailscale 内置的 SSH 服务上。Tailscale SSH 不靠密码和密钥认人,靠设备身份和 tailnet 的访问策略放行;如果策略里还允许了本地或远程转发,旧版本就会在 root 权限的 tailscaled 进程里,以 root 身份去接转发到 Unix 套接字的连接。研究者演示里,转发到 Docker 套接字就能拿到 root shell。Tailscale 同时强调:这不是未授权攻击——没有 foothold、没有策略放行,连不上;攻击范围也只限策略本来就允许的那几台机器,不会自动扩散成蠕虫。
有什么变化:1.104.4 改成按登录用户身份转发
1.104.4 随四份安全公告(TS-2026-014 至 TS-2026-017)一起发布,核心修法是:套接字转发改按登录用户的身份执行,改信内核的文件权限,而不是先按路径文字检查、再以 root 身份操作。同时修的还有 Serve 与 Funnel 相关的几处问题,以及 SSH 会话处理里的内存耗尽问题。研究这组问题的报告叫 Tailworm,由 Cyberdione Labs 的 Erica Windisch 披露,测试版本是 1.104.2。
读者下一步能做什么
第一,把装了 Tailscale SSH 的 Linux 设备升到 1.104.4 或更新版,升完顺手确认版本。第二,今天升不了的,先在 tailscaled 服务环境里设 TS_SSH_DISABLE_FORWARDING=1 并重启服务,把转发关掉——这不等于关掉 Tailscale SSH,日常连接不受影响。第三,顺手复核一次 tailnet 的 SSH 策略:只给确实需要的设备对放行 SSH,敏感机器考虑开检查模式(check mode)。自托管 headscale 的用户要另外核对官方说明,相关报道称 headscale 一侧的修复尚未到位,别默认“升了客户端就全修了”。
站长点评
这个漏洞最值得普通用户记住的不是技术细节,而是一条判断:内网工具的“已授权”不等于“低权限”。一台被偷走的设备能走多远,全看策略给了它多大权限。Tailscale 这次的修法也印证了这一点——把转发身份从 root 降回登录用户,权限边界才回到文件系统该有的样子。家里或小团队用 Tailscale SSH 的,先升版本,再收策略,两步都花不了几分钟。
相关阅读
信息来源:Tailscale 官方安全公告(Tailscale SSH findings and fixes);文中判断为本站观点。
发表评论