Tailworm – Tailscale Vulnerabilities
tailworm.com
tailworm.com
https://www.reddit.com/r/Tailscale/comments/1xeoj1l/recent_t...
> This report strictly audits the open source software provided to users under no condition of warranty per the BSD-3 license. As such, the researchers, and the users, are effectively developers of said software per its open source nature.
Seems like they responded on Reddit: https://www.reddit.com/r/Tailscale/comments/1xekjpd/tailworm...
Some of these vulnerabilities are critical. One compromised node with ssh can get root every other node.
Calling it slop, AI, conveys nothing, 10000 words does not help. They provide practical demonstration, and explain the cause.
In my opinion tailscale needs to focus on secure networking. File sharing, DNS, SSH, Funnel, ... can be handled by dedicated tools.
How many lines of code is tailscale client nowadays?
That said, these vulnerabilities aren't that significant.
Meh.
to be fair, config choices like tailnet lock and ephemeral keys can be used to mitigate.
however, the enumeration of the entire tailnet leading to one compromised node providing the whole map (e.g. hugging face) is inherent in their architecture. that one can be mitigated by ACLs for small networks, but that is unwieldy at scale.
i do have to agree that tailscale is a vpn - which is not easily reconfigured to follow more zero trust principles. so their zero trust washing marketing is disingenuous. they could stick with their strength: an easy to use version of a great vpn (wireguard).
trimming is a neat feature - thanks for that - thought the ACLs are often not there to begin with because configuring off the full node level access defaults of the vpn is difficult, at least at scale.
not specific to ts - all vpns and firewalls have the same intrinsic issue.
So even with 0 access ACLs for node-to-node communication, nodes can advertise themselves to the control plane and change their config as the ACLs are updated.
Nodes get "NetMap" streamed to them from control plane, which contains information about nodes accessible to them. Without a node showing up in netmap, you can't start discovery to connect to that node - discovery protocol follows once you get information for given node, and allows continued connection in case NetMap gets stale (but if ACLs are changed and reach the other node, it's going to filter you out, and you're not going to know about it without initial info from NetMap)
... Because I had triggered more than one alarm recently messing with a headscale upgrade and permissions involved :D