Tailscale SSH: Investigation and remediation update

(tailscale.com)

327 points | by figmert 18 hours ago

24 comments

  • minimaltom 17 hours ago
    Former tailscalar here and now someone managing tailscale at an org.

    Having done my own review of the vulns and the fixes as they are landing in github, its pretty clear to me that this only affects situations where you use ACLs to permit ssh into a node (via tailscale ssh, not via opensshd), but dont give a path to sudoers/root.

    If a user had no SSH access and/or connectivity to a vulnerable node, none of these vulns give them access.

    However, if you have a vulnerable tailscaled and you give ssh access as some non-root account/privs, then yes, these vulns are relevant as theres now known privilege escalations that give access beyond some specific user account.

    Not trying to play down the vuln (its important), but its not a free-for-all RCE that some ppl are acting like it is.

    • whywhywhywhy 15 hours ago
      Calling it “tailworm” feels like alarmism to promote their find more.

      Would only show worm behavior if machines within the tailnet had the right settings and also were members of other tailnets with those settings but then it would require someone in that tailnet to have another tailnet with the right settings…

      It’s far fetched.

    • eru 3 hours ago
      On a tangent: are you really using tailscalar as the name for employees, or is it a typo and you meant tailscaler?
    • dennysora-main 16 hours ago
      But a large portion of Tailscale users should be software engineering professionals, so a lot of the time, people use Tailscale just for SSH. I personally feel the impact is still quite big, especially since SSH leads directly to control of the server.
      • minimaltom 16 hours ago
        Do you use tailscale ssh but either dont have sudo, or don't permit login as root?

        If all your tailscale-ssh ACLs allow you into an account with sudo, or allow you into root, theres no impact (you cant do anything with these vulns you couldnt do a month ago). Thats the nuance I'm trying to get across (admittedly my english is bad).

        • lambda 15 hours ago
          On the majority of nodes I provide Tailscale SSH access to, it's as root or a user with passwordless sudo. It's being used for admin access. So yeah, on those it doesn't matter as much.

          There are a handful which restrict users to their own user accounts. But it's on dev server with friendly devs, so even for that use case it's not really the end of the world.

          I'm sure our infosec folks are going to demand that we upgrade everywhere, however.

      • stingraycharles 16 hours ago
        Engineers use vanilla SSH for SSH, Tailscale SSH is more focused on enterprise stuff where you can have an audit trail of all commands executed and enforce ACLs.
      • scoodah 16 hours ago
        I’ve used tailscale in quite a few jobs now and not one have we used tailscale ssh. Call us old school or whatever but at my current place of employment we provision ssh keys on a box with ansible and just use regular old ssh over the tailnet, not tailscale ssh
      • randomblock1 16 hours ago
        Tailscale SSH is different than doing SSH with Tailscale
      • waterTanuki 15 hours ago
        The vast majority of tailnets are just hobbyists on the generous free tier and probably don't use tailscale ssh, but rather ssh over a tailnet. Usually it's either just one person or a family sharing access to the tailnet. But for corporate accounts where ACLs are used for SSH yeah this is big.
        • jon-wood 2 hours ago
          I'd be fascinated to see numbers on whether your assumptions here are correct in terms of the ratio between hobbyists using Tailscale on their home network and actual paying customers using it for more serious purposes. Does that change if you look at user counts rather than networks?

          My gut feel is that you're correct but presumably they do have a decent number of proper corporate customers or none of these features would exist in the first place.

      • lifeisloving 16 hours ago
        I use tailnet as a vpn and ssh into my server via the tailnet, but I dont use tailscale ssh the product. I think most people fall into this bucket.

        Of course it should be taken seriously, but this topic is also piggy backing off of 7 days straight of non stop viral engagement farming on X after php2shell, where people we're farming likes by just posting stuff like

        "YoU ThInK PhP2ShELl iS BaD JuST WaIt unTiL TaIlScAlE get HaCkED, ThIS JuSt ThE BeGiNNiNG oF a CybeR ReCKoNiNG"

        To farm FUD from normies. Which of course led researchers who were working on tailscale vulns to take advantage of that algorithmic attention as well and talk about their research.

        Like Im pretty sure we knew about this vuln for 3 days now, or atleast that it was responsibly disclosed (and not being used in the wild).

        The attention this is getting is definately the product of some cringe viral snowball effect of the also rather benign p2pshell vuln.

        It feels like there's a ton of AI influencer astroturfing going on, because its wildly easy to get engagement when you add the words "agent/ai" with "vulnerbility" and [insert popular service].

    • ramblurr 8 hours ago
      Why does your comment here contain more information than the blog post from tailscale itself?
    • quantumwoke 12 hours ago
      I think this does downplay the vulnerability, since it assumes that teams using tailscale SSH have a lax security posture. I would hope that a security conscious team has accounts with least privilege available i.e. no root access. Please don't discount this critical vulnerability.
    • Alex13192 14 hours ago
      [flagged]
    • manyzens 15 hours ago
      [dead]
    • aborsy 16 hours ago
      I backup my different devices to my NAS. The user is a restricted backup user seeing only their own directory. I obviously don't want my torrent computer gets root on my NAS.

      I personally use openssh, but someone else may use tailscale SSH.

  • rietta 17 hours ago
    I am fairly glad I have stuck with stock OpenSSH that ships with Linux. This incident proves I am glad with that choice.

    Over the decades, I have maintained remote access through port forwarding on my router - at one point in 2008 I put SSH on port 80 so I could access it from the restricted wifi network at the hospital my grandmother was at. I have also used openvpn. I have also used cloudflare tunnels. But in the end, I always connect to hardened openssh with key only authentication.

    • selfmodruntime 2 hours ago
      Your use of OpenSSH in a single private network does not equate in any way or form using and distributing a non-ACL managed SSH client.
      • InsidiousWombat 2 hours ago
        sounds like just adding complexity over traditional method of OpenSSH + key distribution (either via configuration management or ldap)

        and now, bugs

        • nisegami 1 hour ago
          Adding complexity would imply you're doing both. In this case it would be more correct to say you're trading the complexity of key distribution and access control via keys for the complexity introduced by tailscale ssh.
    • speedstyle 14 hours ago
      I gather the bug allows people you've explicitly authorized to ssh into some account on your machine, to access more than that account can. So if you only use ssh yourself, or only give ssh keys for users with sudo, or only to people you trust not to exploit this, or if other vulnerabilities allow local shell users to escalate, or if you only use tailscale for port forwarding, then you're unaffected. Arguably even less exposed than a public openssh instance, though I can't say I have any issue doing that
      • LtWorf 8 hours ago
        Privilege escalation is now nothing to worry about?
        • sroussey 8 hours ago
          Privilege escalation is nothing to worry about on root accounts
          • eternauta3k 6 hours ago
            I guess if you have an industrial arm connected then they could escalate to physical access
          • LtWorf 6 hours ago
            The "root account" is your assumption now no?
    • minimaltom 16 hours ago
      I'm with you- the attack surface of openssh (and my trust in damien) is a better match imo
    • LeBit 16 hours ago
      Doing ssh through port 80 or 53 or 443 is immediately flagged.

      I understand port 443 is always opened but nowadays you can’t just run ssh traffic on 443 without it being detected as not being https

      • lmm 5 hours ago
        A lot of networks still just do dumb port blocking. Yes, any network that is making a serious effort to prevent ssh will succeed. But a lot aren't.
      • octoberfranklin 16 hours ago
        Flagged by who? The Internet Police? This comment is absurd.
        • novafunc 15 hours ago
          By restricted networks, like hospitals, workplaces, schools, etc.

          If their firewalls can detect it not being typical http/s traffic, they can block it.

          • QuantumNomad_ 15 hours ago
            I run WireGuard VPN on port 443 UDP. Many times I can connect to that from various public WiFi networks like coffee shops and public libraries. And then I ssh into my machines at home over my self-hosted VPN.

            I’ve been hoping that HTTP3 adoption would make 443 UDP accessible from even more places. But maybe they already do the kind of thing you said for that too, looking at the traffic flow to determine that it is not HTTPS.

            Weirdly sometimes there are WiFi networks where I am not able to connect to my WireGuard VPN on 443 UDP, but I can connect to servers over ssh on standard port 22 TCP. Perhaps they sometimes block all UDP traffic because they don’t want people to use BitTorrent etc, but one would think that with all the online meeting platforms that do video streaming there would be a lot of problems for people if all UDP traffic was blanket blocked.

            I might eventually try out AmneziaWG instead of vanilla WireGuard, but at the moment I am fine not being able to Connect to my VPN sometimes. I only use it to connect to my other machines anyway, not as a VPN tunnel for my web browsing etc.

            • teravor 14 hours ago
              it's possible commercial routers such as the ones utilized by restaurants allow wireguard through these days? wireguard makes no effort to be stealthy when emitting.

              some VPN apps bypass wireguard blocks automatically by using https tunnels and whatnot.

          • rietta 13 hours ago
            It worked in 2008 - 18 years ago. I have other options now like said cloudflare tunnel.
          • Imustaskforhelp 10 hours ago
            Does mosh help with it? Seems to be based on udp, and it looks good. I am not entirely sure if it helps the issue that you are talking about so hoping for someone more experienced to chime in

            https://mosh.org/

      • jen20 3 hours ago
        I think you're likely attributing too much competence to the kind of place that restricts outbound traffic to 80 and 443 in the first place.
      • megous 14 hours ago
        Naive. There's not much that prevents you from running ssh over https. Not even traffic patterns will give you up in the age of ubiquitous websockets and/or http2 streams.
        • InsidiousWombat 2 hours ago
          It will absolutely and trivially be detected by any decent IDS/IPS

          SSH does nothing to hide it is SSH (tho "I'm just https" mode would certainly be welcome addition)

        • sandos 6 hours ago
          Even with corporate MITM setups? I somehow doubt it..
          • megous 4 hours ago
            MITM only works if you allow trust in corporate CA on the outbound HTTPS connections. And why would you?
            • jon-wood 2 hours ago
              Its not always the case but many of MITM-ing corporate firewalls are going to immediately drop any TLS connection they can't decrypt on the basis they're coming from an unauthorised device.
          • LeBit 4 hours ago
            No need for MITM.

            DPI immediately can tell it is ssh.

            • megous 3 hours ago
              Yeah, sure. By magic I guess. :)
              • p_l 2 hours ago
                No, by DPI. SSH has recognizable signature as does web sockets etc.

                Takes flipping one switch for 443 to be made HTTPS + HTTP2 + websocket only by egress firewall if you paid for one with DPI

        • LeBit 14 hours ago
          "Naive”. How ironic.
  • andix 15 hours ago
    Somehow I don't think it's a good idea to let Tailscale handle service authentication at all. It's supposed to be an additional security layer around existing infrastructure and services.

    Letting Tailscale handle VPN and SSH at the same time is basically once again a single point of failure. Similar to exposing SSH directly to the internet.

    • computerfriend 3 hours ago
      This was a decision I made in my old job, seems to be proved correct.
    • JJJollyjim 8 hours ago
      I agree that this is how you should use it, but it is not "supposed" to be that in the sense that Tailscale strongly encourages you to use it in lieu of auth...
  • teekert 7 hours ago
    The amount of people claiming to be happy to have never gotten on the Tailscale (or other virtual network layer like Nebula) boat is too damn high. Remember people, it's just a layer. I.e. GitLab seems to have a new set of critical CVEs every week now, and I have been glad to have Tailscale (plus a physical firewall) as a layer in front of it. Total stress level would have been higher without Tailscale.

    And before people start coming up with alternatives, I know, but they either have the same (theoretical level of) attack surface (ie [managed] Nebula), or they require much more manual work (ie Wireguard) and are therefore more sensitive to misconfiguration.

    • mzhaase 6 hours ago
      Always comes back to fundamentals: defense in depth, principle of least privilege, patch your shit. Almost every security issue comes from violating one of those.
  • InsidiousWombat 2 hours ago
    Given the amount of problems 3rd party SSH servers had (Mikrotik had some recent issues too) I think we should add "do not roll your own SSH server, just use OpenSSH" to common security advice
  • aborsy 17 hours ago
    There are too many features, and lines of code (probably more than OpenVPN). I'm pretty sure there are all kinds of zero days in it, with this attack surface and feature set.

    I use it extensively, and I would rather pay them a fee if they could review thr code.

    A possibility is a lock down mode, disabling risky features.

    I just want a VPN for connrctiviy, no taildrop, taildrive, SSH, funnel, services, DNS, node sharing, ...They are disabled in my admin console, but the code runs on my devices and they can be enabled by mistake.

    A question. Taildrop enables unauthenticated input and doesn't even obey ACLs. I'm not quite sure about this, but couldn't malware in a low trust device send a file to my Synology NAS, which will then automatically process it for indexing things like thumbnail, leading to potential code execution? Why doesn't it obey ACLs, and why isn't the recipient approval needed before the file exits the sender's device? I use tags, but I'm the owner not the tag.

    • drdexebtjl 17 hours ago
      This is also how I feel about Tailscale and its popular alternatives. They do too much.

      Does anyone know of a Tailscale alternative that sticks to the basics?

      Something that’s just WireGuard but without the manual key exchange, and with Tailscale-like NAT hole-punching that falls back to using an oblivious relay?

      • sigbottle 16 hours ago
        I've been toying around with nebula, self host your lighthouse on a cheap VPS (which even if it gets hacked, the most it can do is lie about traffic, not lie about node certs). Basically you're just paying for the punchthrough (you may even be able to do some duckdns shenanigans?) The main issue is that updating nodes is a pain in the butt, which is the main advantage of tailscale IMO - centralized control plane. Keeps it simple.

        I was trying to do some kind of insane workflow where you as the operator have a privileged hardware yubikey that admins the nodes when you plug it in, and the point is the nodes would self-propogate the changes outwards. I immidiately ran into classic issues with distributed security in distributed systems (even with only one central operator trying to admin everything). Tailscale is also a bit more secure in its oauth layer - with this architecture, you need to set proper time limits for expiring so one node compromise doesn't get access to the whole fleet. Couldn't really come up with better ideas than forcing the operator to reuse some kind of hardware key (the idea trying to be avoiding maintaining a cloud control plane as much as possible)

        Fun foray but creating such a system requires a lot of expertise that I unfortunately lack

        • LeBit 15 hours ago
          I used Nebula extensively.

          I really liked it. I like the idea of embedding firewall rules in a certificate.

          But , like you observed, it does not scale as well as tailscale.

      • Yasuraka 9 hours ago
        https://github.com/netbirdio/netbird

        Bit more than the basics, but not as much as tailscale.

      • huslage 13 hours ago
        You can run Tailscale in this mode just fine, or use Tailcat if you want.
        • drdexebtjl 12 hours ago
          The point, in the context of this thread, is that the attack surface is huge.
      • LeBit 15 hours ago
        No.

        {tail,head}scale is the best there is for wireguard at more than 3 nodes.

      • chasd00 16 hours ago
        You could just use IPsec. It’s been probably 20 years but look into SWAN. It’s just a vpn in the vpn sense.
        • InsidiousWombat 2 hours ago
          IPSec is horrid. Please, don't

          It is massively more complex than say Wireguard, because it was developed with "everything and kitchen sink approach", and even the standard de facto authors, Cisco, took good 20 years to stop having IPSec related vulnerability every few months (hell we just had one this year in Linux IIRC)

        • sgerenser 2 hours ago
          That doesn’t really help much if you want to connect an arbitrary number of nodes to eachother (each of which is potentially on an entirely different LAN), does it? That’s really the whole point of Tailscale.
    • ctippett 9 hours ago
      Taildrop only works with devices that are yours, i.e. you can't send or receive anything from a device that's either tagged or owned by someone else. The only way malware is getting onto your NAS (via Taildrop) is if you're the one sending it there.
      • JJJollyjim 7 hours ago
        My Tailscale RCE[1] in 2022 involved forcing a device onto an attacker-controlled control plane, at which point your device is no longer "yours", and the fact that Taildrop is implemented in your client binary can be exploited. Chaining the bug to RCE would not have been possible against an ideal Tailscale with only the core feature set.

        [1]: https://web.archive.org/web/20221222120703/https://emily.id....

        • ctippett 6 hours ago
          This was(/is?) a great write-up. Would the vulnerability enabled through Taildrop still work if the compromised machine was tagged or would the attacker's control of the... control plane make this additional safeguard redundant?
      • aborsy 7 hours ago
        See my comments in this thread.
    • mintflow 12 hours ago
      As a indie hacker(viber :) ) built mutiple tailscale based stuffs dated to the early days of tailscale, I like it but actually I do agree with you

      There are too much features added now, perhaps some related to enterprise features because that must drive the revenue

      Sometimes I am thiking perhaps they provide a light tailscale version but that seems not viable given the complexity now, headscale is great, but the OSS client still have plenty features, though they are gradually added feature based switch in the client source which I think is great, perhaps we can build a light version over it

      This is also I do not think the tailscale-rs(which aim to rewrite tailscale with rust) will not be ready in a short time because too much (feature + cross platform) need to be tested

    • skowalak 15 hours ago
      Re: Your question. Taildrop only works between devices in the same account. So if you don't put low trust devices in the same account as your NAS this is mitigated.
      • aborsy 10 hours ago
        Tailnet owner may not trust all their devices to the same extent. Here is a concrete example.

        I install tailscale on my cloud vps which I use for downloading torrents. I want my laptop to talk to this node, but I don't want this vm talk to my laptop, which is the whole purpose of ACLs. My ACL is deny by default, so that is great and easy to set. But now this node can still send arbitrary files to my laptop. If I don't remember to tag it, I'm vulnerable. If I do, there is still a window that this node can send me files until I tag it (I can't install tailscale to a tag).

        Sending a file otherwise normally requires an app listening to a port, so taildrop permissions should be same as network permissions set by ACL.

        BTW, last year or so tailscale advertised a position for someone to manage complexity of tailscale. Founder was talking about this issue. They seem to be aware of the problem.

        • ctippett 9 hours ago
          Tags are a key part of managing ACLs. If you're concerned about an untrustworthy node on your tailnet, use tags. Even if you forget to add a tag to a newly added node (API keys can be set to automatically assume a tag when used fwiw), if your other devices are tagged then they're ineligible for taildrop.
    • bradfitz 13 hours ago
      (Tailscalar)

      FWIW you can rebuild tailscaled to omit all the optional stuff:

      https://github.com/tailscale/tailscale/tree/main/feature#mod...

      e.g.

        % go run ./cmd/featuretags --min
        ts_omit_ace,ts_omit_acme,ts_omit_advertiseexitnode,ts_omit_advertiseroutes,ts_omit_androidbin,ts_omit_androiddns,ts_omit_appconnectors,ts_omit_aws,ts_omit_bakedroots,ts_omit_bird,ts_omit_c2n,ts_omit_cachenetmap,ts_omit_captiveportal,ts_omit_capture,ts_omit_cliconndiag,ts_omit_clientmetrics,ts_omit_clientupdate,ts_omit_cloud,ts_omit_colorable,ts_omit_completion,ts_omit_completion_scripts,ts_omit_conn25,ts_omit_connreject,ts_omit_dbus,ts_omit_debug,ts_omit_debugeventbus,ts_omit_debugportmapper,ts_omit_desktop_sessions,ts_omit_dns,ts_omit_dnsresolvecache,ts_omit_doctor,ts_omit_drive,ts_omit_exitnodehealth,ts_omit_favorites,ts_omit_flashappliance,ts_omit_gro,ts_omit_health,ts_omit_hujsonconf,ts_omit_identityfederation,ts_omit_ipnbus,ts_omit_iptables,ts_omit_kube,ts_omit_linkspeed,ts_omit_linuxdnsfight,ts_omit_listenrawdisco,ts_omit_logtail,ts_omit_nattraversal,ts_omit_netlog,ts_omit_netstack,ts_omit_networkmanager,ts_omit_oauthkey,ts_omit_osrouter,ts_omit_outboundproxy,ts_omit_peerapiclient,ts_omit_peerapiserver,ts_omit_portlist,ts_omit_portmapper,ts_omit_posture,ts_omit_qrcodes,ts_omit_relayserver,ts_omit_remoteconfig,ts_omit_resolved,ts_omit_routecheck,ts_omit_runtimemetrics,ts_omit_sdnotify,ts_omit_serve,ts_omit_serviceclientprefs,ts_omit_ssh,ts_omit_synology,ts_omit_syslog,ts_omit_syspolicy,ts_omit_systray,ts_omit_taildrop,ts_omit_tailnetlock,ts_omit_tap,ts_omit_tpm,ts_omit_tundevstats,ts_omit_udptransport,ts_omit_unixsocketidentity,ts_omit_useexitnode,ts_omit_useproxy,ts_omit_usermetrics,ts_omit_useroutes,ts_omit_wakeonlan,ts_omit_webbrowser,ts_omit_webclient
      • traceroute66 2 hours ago
        > FWIW you can rebuild tailscaled to omit all the optional stuff:

        It would also cost Tailscale nothing to build and ship a minimised version alongside the bloated version. Thereby making it officially supported option.

        Because you just know support will start finger-pointing and asking you to install the bloated version if you tell them you're having an issue with your home-compiled minimised version ....

  • holoduke 20 minutes ago
    By coincidence i heard about tailscale for the firsttime today. I tried to understand what the benefit are. seeing people having all their devices accesible from their phone. I am using plain ssh for this for decades. Still not convinced of using tailscale.
  • modeless 14 hours ago
    They may not recommend disabling Tailscale SSH but I do. It interferes with sshd features and adds to your attack surface. Distribute your SSH keys the old-fashioned way and disable Tailscale SSH.
    • kccqzy 12 hours ago
      I make my sshd only listen on the Tailscale IP. Then I don’t even bother setting up SSH keys. I use password authentication, except on mobile where my password is too difficult to type with an onscreen keyboard.
      • jaden 11 hours ago
        As I understand it, that use case isn't impacted by these vulnerabilities since it's not using Tailscale SSH, just OpenSSH over Tailscale.
        • kccqzy 2 hours ago
          Correct. I have no reason to even turn on Tailscale SSH.
  • wrxd 17 hours ago
    I like Tailascale as a product but I decided to move my homelab to plain WireGuard.

    I wasn't using any of the additional features, I can get away with exposing a port on my router and I am changing devices rarely.

    News like this make me happy I removed a lot of complexity and attack surface

    • femiagbabiaka 17 hours ago
      > I can get away with exposing a port on my router

      using wireguard is awesome, but I wouldn't say deploying and maintaining it lacks complexity exactly. and you didn't get rid of attack surface, you just made it your responsibility ;)

      • ectospheno 17 hours ago
        Always is your responsibility even with tailscale. Now it is his responsibility without tailscale.
      • LoganDark 17 hours ago
        Attack surface almost entirely goes away if you just require a good port knock first! I do that with my protection SSH servers and it works just fine. Also prevents anyone from knowing there even is an SSH server there. Or any server if it doesn't respond to pings either, and only uses reverse tunnels to accept public connections
        • neilalexander 17 hours ago
          Wireguard doesn’t respond to malformed packets or handshakes from unknown devices by design.
        • mbreese 17 hours ago
          Is there a way to automate port knocks in your .ssh/config? I think that’s the main reason why I haven’t added it to my home server.
          • LoganDark 17 hours ago
            Technically you could use a ProxyCommand that does the knock and then runs nc to your target.
        • lakeviewterrace 17 hours ago
          Port knocking is idiotic and amounts to Biff Tannen's "only I know how to start this car".
          • Gigachad 17 hours ago
            Dunno, in combination with having an up to date system following best practices, port knocking is probably going to save you when bots start scanning the internet with the next SSH 0day. Any amount of friction will cause the bots to move to the next IP address.
            • icedchai 17 hours ago
              Just moving SSH off a default port gets you 98% there.
              • LoganDark 17 hours ago
                An attacker only has to get lucky once, so while I do put SSH on a non-default port too, it's not enough to avoid attacks on its own.
                • icedchai 16 hours ago
                  I mostly do it to quiet down the noise from the non-stop bots and scanners.
                  • LoganDark 16 hours ago
                    Being off the IPv4 space completely can be even more effective at that, FWIW, but that can have other issues. Only feasible for some!
            • esseph 17 hours ago
              LLMs port knock for redteam scans. Have for a long time.
              • LoganDark 16 hours ago
                My knock for SSH was 20 ports within 2 seconds. knockd resets the sequence if you hit any of its ports out of order. I generated the sequence with a CSPRNG.
                • esseph 14 hours ago
                  That's not a knock, it's a password :-)
                  • LoganDark 11 hours ago
                    I mean, it suffers from some of the same issues with knocks, like being replayable. Wonder if anyone's come up with a TOTP-like thing for port knocks, where the code changes every little bit...
                    • dns_snek 4 hours ago
                      Yes something like that has been done, the solution uses asymmetric cryptography instead of symmetric and it protects the entire communication stream instead of just opening the gates - it's called Wireguard.

                      I jest, but you're describing authentication protocol which uses the UDP destination port field to carry each character of the "one time password" in a roundabout way. You could simply send 1 packet containing the password to the daemon.

                      I've never seen it used in the wild but apparently, it exists: https://github.com/mrash/fwknop

                      • LoganDark 5 minutes ago
                        LOL'd at Wireguard, but I really miss Plan 9-style networking, where you can basically just scope VPNs to a subprocess rather than having to use some system wide network filter with split tunneling or whatever. Wireguard has huge usability issues due to that.

                        Reading the fwknop README is such a breath of fresh air, thank you for that treat. I hate AI-generated documentation so much.

                    • SV_BubbleTime 9 hours ago
                      That’s cute. Have Claude do it. There is already an echo system of TOPT QR to communicate it, so you would just need to convert your six digit code to two or more hits on the 16bit port range.

                      I’m not even sure you need more than two. One seems bad because that’s just a lucky port scanner one time.

          • LoganDark 16 hours ago
            It's more like "only I know how to find this keyhole". You still need the key then, you're just also adding some defense against picking.

            It would be idiotic to use the knock as the only authentication, which is why I don't.

            To be quite honest, I just like the aesthetics of it.

            • megous 14 hours ago
              You're sending your knock over the public network in the clear. It's observable by anything in the path. And then you're not the only one that can find the keyhole.
              • sersi 7 hours ago
                Entirely true, it's not true security, same as changing the ssh port. So, relying on it for any security is not useful but it's a good deterrent from automated scans that are not targeted towards you. Defense in depth means not necessarily discarding flawed defenses if they are in addition to proper defense.
      • swingandamiss 17 hours ago
        With AI, the complexity doesn't really matter anymore. Codex or Claude can easily configure complex site-to-site setups and peer configurations on mobile devices. I did this by hand before and it was hard and difficult to get right. Now I just tell AI and it does so perfectly, checks and verifies things. AI made life so easy.
        • drum55 17 hours ago
          No amount of claude can handle the key thing that Tailscale fixes about wireguard, all of the connection to connection logic is handled be it direct, via all sorts of weird hole punching or via relays. Wireguard itself is horrible to do this with, half the time you're just looking at `wg status` wondering why the packet counter isn't incrementing today. It can never achieve the magic that is a direct connection between plane wifi and a host that's behind NAT on the ground.
          • hdgvhicv 15 hours ago
            I can’t think of a single time I’ve wanted to connect between two hosts when I haven’t specifically allowed one through a firewall
            • drum55 15 hours ago
              NAT are not firewalls.
              • hdgvhicv 5 hours ago
                Functionally they are. Allow traffic aiming at this address and this port to arrive on this server.

                Not that my WireGuard connection needs nat as it terminates on my router. And I use private ip ranges as I want to be sure that if WireGuard drops out for some reason traffic doesn’t route over the unencrypted path. Defence in depth.

          • swingandamiss 17 hours ago
            [dead]
            • LoganDark 16 hours ago
              It makes me happy that I can automate some menial tasks or replace a search engine sometimes, but this is just because I already have knowledge of the field and the skill to apply it. You're not wrong that it'll probably get even better, but I don't see a path right now to unskilled people being able to effectively use an agent. Only time will tell if that can happen.

              I do disagree with GP's assertion that Claude can never make something comparable to Tailscale, but that's just because I believe I (and probably many others here) could probably prompt that, not because I think just anyone could. LLMs can one-shot a fair few things based on unskilled prompts, but I don't believe this is one of them yet.

              • swingandamiss 16 hours ago
                Right now it's not unskilled. It's managers, PMs, TPM's, or people with some tech knowledge but who previously couldn't do these types tasks (not that they weren't capable, but it takes a lot of effort and time to get skilled in these areas and they didn't devote the time). They know what they want at a high level and now can do it with AI.
                • LoganDark 16 hours ago
                  This is mostly true, I think. I think this is a sweet spot for LLMs, too. Maybe with the right approach, a user could know or figure out how to articulate what they're missing, if the first attempt doesn't work well enough for them. I just worry that e.g. if they forget to review things like protocol details, they could silently end up with flaws and such, or jank. But yeah, there's potential where there wasn't before, and I'm all for that.
        • arcanemachiner 17 hours ago
          This is true, but I still wouldn't discount the possibility of mistakes. It's good to know how your home network works. Even Opus 5.5 can make some pretty dumb mistakes, particularly if it doesn't have the full picture.
          • swingandamiss 17 hours ago
            Humans also make mistakes. At this point, I trust AI more than humans when it comes to casually configuring VPNs. I've read many who exposed things by mistake on reddit. AI has nearly solved this, probably is a solved issue at this point.
        • femiagbabiaka 17 hours ago
          I would not personally expose my devices over a VPN that I self-hosted and set up purely through AI unless I felt like I understood how it worked completely. But that's probably just personal paranoia.
          • swingandamiss 17 hours ago
            Just go read reddit threads on people who do this by hand following half baked guides. There's a huge population doing this, now everyone is switching to AI. It's a big win and safer. Not everyone is a trained network engineer, but now they are with AI
        • LeBit 16 hours ago
          It makes no sense at all to configure a >3 nodes wireguard setup with straight wireguard.

          Wireguard is the building block for higher level tools like Tailscale to build on.

    • fooqux 17 hours ago
      From the sounds of what info they felt was safe to provide, this wouldn't have impacted you anyway.
      • giwook 17 hours ago
        Don’t think that refutes their point.
    • OptionOfT 15 hours ago
      On the road I find WireGuard to be quirky when connecting to DNS names. When I'm on an IPv6 only network (like T-Mobile), connecting to a DNS name that offers A and AAAA, WireGuard on iOS prefers the A record, making me connect over one of T-Mobile's 464XLAT proxies which time out after x minutes. This then makes the connection look dead until I do something on my phone that re-enables it.

      Tailscale doesn't have this issue.

      • Dagger2 2 hours ago
        An AAAA-only hostname would sidestep that issue, with the obvious downside.

        (This behavior is a deliberate choice from Wireguard. They claim it's not broken, but... it's broken.)

    • onel 12 hours ago
      Using anything on top of wireguard or plain? I heard headscale adds a nice layer
      • wrxd 6 hours ago
        I use plain WireGuard. My use case is very simple: I have a server and a few clients (phone, laptop) I want to connect to the server when I'm away. I don't care to have VPN connectivity between my phone and laptop
    • LeBit 15 hours ago
      You shouldn’t open a port on your router.

      Connect from your home to a public VPS and connect your public devices to that VPS.

      • jon-wood 2 hours ago
        "Should" and "shouldn't" are dependent on context. In this case, that somewhat depends on what the router you're using is, how much you trust it, and your ISP's configuration. Opening a port isn't an inherently insecure thing, it's a choice that you make while being aware of the tradeoffs between that port being exposed to the internet at large and wanting a given service to be available.
      • wrxd 6 hours ago
        What's the advantage of adding a VPS to the mix?
        • LeBit 4 hours ago
          Having a VPS gives you a static, non-shared, stable IP with a whois that doesn’t resolve to a residential ISP.

          Lot’s of ISP have moved to CGNAT where port forwarding has become a nightmare. That’s one reason. You can look at it as if your router moved from your home behind a public CGNAT, dynamic, shared IP to a public non-shared, static, stable IP on the internet.

          In a workplace setting, connecting to your residential IP will raise suspicions or alarms. That being said, if you go for a cheap VPS, it also might raise alarms. Maybe your 'VPS' should be with whichever cloud provider your employer goes with so you don’t even register as a blip.

          It is added complexity, but it is really very simple. Using Wireguard, you connect from a always on server in your home to your VPS. Then, using Wireguard, you configure your laptop to always connect to your VPS. Any local LLM can generate the wg-quick config files in seconds.

          Also, not opening a port has become a security checkbox. If your home router isn’t a hardened Linux box, why would you prefer to let a ASUS 'WiFi Router' handle that critical networking function instead of a Linux box you can easily update and audit?

          • jon-wood 2 hours ago
            This is frankly a bit nonsensical. "In a workplace setting, connecting to your residential IP will raise suspicions or alarms." - so will connecting to literally any unexpected VPN endpoint if the network is halfway competently monitored.

            Just because your VPN endpoint is on a VPS somewhere rather than a computer on your home network doesn't make it any more secure, and the scare mongering here that somehow a home router will drastically mess up a function as simple as forwarding traffic coming in on a port to another machine is weird... if you don't trust it to do that then I'd get rid of the thing because that's its entire job.

    • F_r_k 17 hours ago
      BTW, netbird is a cool alternative also
      • dizhn 8 hours ago
        I prefer it too and I like that it's 100% open source. Server, client, everything. Pangolin also looks interesting if you don't need a full vpn. And if you go that way, Authentik with its embedded proxy is also worth considering.
  • Gigachad 17 hours ago
    Everyone is twitchy over security right now, but at first glance this seems not that bad. If the attacker has to be manually added to your tailnet that makes this not very exploitable. You should be more worried about all the iot slop on your local network.

    Good idea to set up automatic updates for the tailscale client though.

  • slowin 18 hours ago
    I self-host a tailnet with Headscale and could not be happier: https://headscale.net/stable/
  • 6thbit 18 hours ago

      > Most of the Tailscale SSH issues we've identified concern privilege escalation. In some circumstances, someone already authorized to connect over Tailscale SSH may be able to perform actions beyond the permissions of their configured local user, including potentially gaining elevated privileges.
    
    
    "Most"? "In some circumstances"? Makes me think that they could also be investigating a full on unauthorized connection issue, or am I reading too much into it?
    • remus 17 hours ago
      I think they're just writing cautiously because they're midway through the investigation and don't want to give false confidence. Doesn't seem worth reading too much into it until they provide a more thorough write up.
    • awildfivreld 17 hours ago
      The underlying writeup can be found at https://tailworm.com/
      • drum55 17 hours ago
        10,000 words of claudish, it's not worth reading.
      • brof 10 hours ago
        Thanks for linking that. The debate about these issues will rage on, but I do wonder whether giving Tailscale two hours of notice before public release was the right call? The arguments from the post are that "rapid awareness of these flaws will expediate remediation" and that they were "discovered with low effort". Does the author mean that simply pointing Claude at Tailscale identified (a non-trivial subset) of these vulnerabilities, and did the author not feel that Tailscale had a track record of responding to vulnerabilities, via a coordinated disclosure, in a timely manner? I would personally have liked to see a bit more of a justification of the almost-immediate publication against the potential risks to users, vs. e.g. waiting a day or two.
        • jasona123 1 hour ago
          > whether giving Tailscale two hours of notice before public release was the right call?

          In my world I believe we would call that a dick move.

    • pizzafeelsright 17 hours ago
      Obviously tailscale has some great devs, security is complex.

      There is some weaselly language.

      In some circumstances default config? with password? this is a condition leading to the next

      someone already authorized to connect over Tailscale SSH they have access, but it may be limited or restricted, although scope could be beyond the intended

      may be able to perform actions beyond the permissions If there is a full moon and your brother in law's second cousin is wearing a hat, he may be able to use your upstair's thermostat provided you have a second story.

      • fooqux 17 hours ago
        Given what just happened with PHP a few days so, it's not surprising to me that they're holding their cards close to their chest. People will already be doing their damnedest to reverse engineer the exploit with this meager info.
        • tptacek 12 hours ago
          There's already a public writeup.
      • p_l 16 hours ago
        Have you seen the slopreport for the vulnerability?

        I fully understand being carefully worded when you need serious brain power just to figure out every claim in the logorrhea

      • traceroute66 17 hours ago
        > Obviously tailscale has some great devs, security is complex.

        Quick reminder that in recent months Tailscale has had issues with age-old classic vulnerabilities such as input validation.

        The problem with Tailscale is twofold.

        First their attack surface is too big. They continuously shoehorn new features into the product.

        Second they don't appear to do regular deep-dive code audits and instead they appear to rely mostly on the goodwill of third-parties to poke at select areas of their code as and when those third-parties feel like it. Hence simple vulnerabilities such as input validation keep on popping up.

        Fancy SOC2 certificates are not the same thing. That's just dogfood for the corporate auditors.

        At $work we are busy working on removing Tailscale. The bells and whistles of Tailscale sure are attractive candy, but we simply can't overlook the security risk of what has become a bloated product.

    • devmor 17 hours ago
      A security researcher colleague of mine was/is exploring an unauthenticated avenue along this line. I don’t have any update, she told me she didn’t feel comfortable exposing information to anyone other than Tailscale staff until she’s confident in what she found or didn’t.
      • raggi 16 hours ago
        we'd love to hear about it at security@tailscale.com, we're happy to work from & with and credit early ideas as well.
        • devmor 14 hours ago
          I will send her your message!
  • siva7 16 hours ago
    I wouldn't be too surprised if tailscale has become a critical vector of the internet like cloudflare over the years as most ai companies seem to use it
    • SchemaLoad 15 hours ago
      Tailscale is best used as an additional layer of security rather than your only layer. I host everything behind tailscale as if it was the public internet, with proper authentication, https, etc.

      So a failure in tailscale is not an issue on it's own because you'd then also have to find an exploit in what I'm actually hosting as well. Both of those things happening at the same time is much less likely.

    • mrheosuper 11 hours ago
      Yet another single point of failure.

      I don't see the reason for Tailscale instead of plain old simple Wireguard, it's WG under the hood anyway.

      • niobe 6 hours ago
        +1

        I am a relatively old school engineer. When building a bricks and mortar business recently I kept hearing about tailscale for remote access. Looked and saw it was just a wrapper over wireguard. I immediately went aha, there's a solid underlying project without the risk of something over the top trying to make life easier for people unwilling or unable to manage their own systems. Went with a direct wireguard on opnsense approach.

        Bamn, proved right today.

        Wireguard is perfectly elegant and maintainable as it is for me, and a wonderful improvement on traditional site to site VPNs.

      • drnick1 10 hours ago
        This exactly. All the extra stuff Tailscale provides buys convenience, but increases complexity, the attack surface of the stack, and adds commercial components to an otherwise open protocol. Call me old fashioned but I will keep managing keys manually.
  • 99harry 7 hours ago
    I've already installed WireGuard, ZeroTier, and OpenVPN. What's the difference between Tailscale and these other tools?
    • teekert 7 hours ago
      This is the type of question any LLM can explain to perfection on any technical level, from 5 year old to IT pro, so, I'd try that?

      If I literally ask an LLM your question it makes beautiful table of pros cons, underlying tech etc. So, LM G<>LLM TFY ;)

      • 99harry 6 hours ago
        I think it contains a lot of information. Simple definitions always need a human touch
  • hollow-moe 16 hours ago
    Recently NetBird also had a huge privesc through their SSH component too... I'm using both at $DAYJOB and my personal infra, damn you guys ought to be more careful with such a sensible and important component...
  • MisterTea 17 hours ago
    Not a tailscale user so I am a bit lost here: where does SSH fit into a Wireguard based VPN service?
  • redmalang 9 hours ago
    vaguely related - I want to make it easy for the llms to deploy and manage derp,tailgate etc with the hard requirement that you can continue to use the tailscale clients (very thankful to tailscale for making this so easy!):

    https://tailgate.latchlabs.dev

  • seany 15 hours ago
    I have tried to like tailscale ssh, but having used tailscale for many many years. I always just disable it and use normal opensshd.
  • wslh 18 hours ago
    With the success of Tailscale I would like to be sure that their repositories and scenarios are continuously reviewed. I understand that there is always a next hop in cybersecurity though.
  • fanruocheng 10 hours ago
    [flagged]
  • zkscout 5 hours ago
    [flagged]
  • krazy_00 12 hours ago
    [flagged]
  • TacticalCoder 16 hours ago
    I'll point out that Tailscale has been repeatedly praised here as a replacement "because SSH was too old" by "security professionals". Those very same security professional happen to be the exact same closing their eyes when there's the state doing wrongdoings.

    My question to those who kept praising Tailscale and making fun of good old plain SSH: how do you like your state backdoor --excuse me, I mean bug-- in Tailscale now?

    • Liuser 12 hours ago
      I’ve personally never heard any security professional say that “ssh is too old”. The primary selling point of using Tailscale ssh is that you outsource the challenges of ssh key management to Tailscale. Eg. managing and rotation of thousands of ssh keys in an org.
    • mediaman 15 hours ago
      This comment doesn't make any sense. The products are mostly different categories. One is a VPN replacement and the other is encrypted shell access. Most people use ssh over tailscale. Tailscale does have a "Tailscale SSH" product but it's not that widely used compared to regular ssh over Tailscale.
    • LeBit 15 hours ago
      You use ssh to manage a multi node VPN?
  • _def 18 hours ago
    I think it's so invasive that they ship this per default. But thats the business model i guess.
    • seemaze 18 hours ago
      I've always had to manually enable this feature. I've never experienced it on by default across multiple platforms and deployments.
      • RobMurray 16 hours ago
        I've never used it once. don't even see the point. normal ssh works fine over Tailscale.

        What is the advantage? Why would I want to swap the well tested auth in ssh for auth managed by tailscale?

        • seemaze 11 hours ago
          It's handy to open a TTY connection in the browser, or to delegate your tailscale MFA account as remote authentication.
    • femiagbabiaka 18 hours ago
      Do they ship this by default? I thought it had to be enabled: https://tailscale.com/docs/features/tailscale-ssh#configure-...
    • LeoPanthera 18 hours ago
      Tailscale SSH is not enabled by default.
      • zer0zzz 17 hours ago
        It’s also not even available on some platforms afaik
    • forbiddenlake 18 hours ago
      How do you mean? You have to run a command to enable tailscale ssh, it isn't on by default.