
Een gehackt apparaat binnen een Tailscale-netwerk kan via SSH-roottoegang krijgen tot andere servers zonder wachtwoorden of sleutels te stelen.
Een enkele gehackte device binnen een Tailscale-netwerk kan worden misbruikt om roottoegang te verkrijgen op andere servers die het kan bereiken. Dit blijkt uit een recent onderzoek van Erica Windisch van Cyberdione Labs, die haar bevindingen op 25 oktober publiceerde in het rapport Tailworm. De aanval vereist dat Tailscale SSH is ingesteld met poortforwarding en dat de aanvaller al controle heeft over een apparaat dat volgens de toegangsregels verbinding mag maken met het doelwit.
Windisch testte Tailscale versie 1.104.2 en headscale versie 0.29.5, een zelfgehoste server die sommige netwerken gebruiken in plaats van de Tailscale-hosted service, gedurende drie dagen in een laboratoriumomgeving. De tests betroffen de software zelf en niet daadwerkelijke aanvallen op productienetwerken. Tot op heden heeft Tailscale geen security bulletin uitgegeven, geen CVE toegewezen en is er nog geen patch beschikbaar.
Volgens Mike Shaver, vice-president engineering bij Tailscale, is het bedrijf op de hoogte van het rapport en werkt het samen met externe beveiligingsspecialisten aan oplossingen. Hij benadrukt dat nog wordt onderzocht welke configuraties precies kwetsbaar zijn en adviseert nog niet om Tailscale SSH uit te schakelen. Tailscale SSH werkt anders dan een standaard SSH-server: in plaats van gebruikerswachtwoorden of sleutels te controleren, identificeert het apparaat en bepaalt een enkele toegangsregel of dat apparaat een SSH-sessie mag openen. Hierdoor is het niet nodig om wachtwoorden of sleutels te stelen; een aanvaller moet eerst een voet aan de grond krijgen op één apparaat, bijvoorbeeld via kwetsbare webapplicaties, phishing of gestolen inloggegevens.
De mate waarin een beheerder dit kan beperken hangt af van de gebruikte Tailscale-omgeving. Bij de hosted service kan poortforwarding per regel worden uitgeschakeld, maar bij headscale 0.29.5 is dat niet mogelijk. Het rapport stelt dat elke SSH-toegang in dat geval als roottoegang op het doelapparaat moet worden beschouwd. In het lab toonde Windisch aan dat standaard SSH-poortforwarding een rootproces van Tailscale toegang gaf tot een systeem socket die normaal alleen root mag benaderen, waarmee direct roottoegang en het uitlezen van het systeemwachtwoordbestand mogelijk was zonder administratorrechten.
Daarnaast werden methoden gedemonstreerd waarbij een root-eigen socket werd vervangen door een kwaadaardige socket van de aanvaller, waardoor directe rootcommando’s konden worden uitgevoerd. Ook werd een race condition ontdekt die een veiligheidscontrole omzeilde, waardoor forwarding toegang kreeg tot onbevoegde bestanden. In het laboratorium kon deze keten verder leiden tot het onderscheppen van een sleutel die nodig is om nieuwe apparaten aan het netwerk toe te voegen, waarna een kwaadaardig apparaat als vertrouwde server kon worden toegevoegd. Deze laatste stap lukte alleen op netwerken zonder de Tailnet Lock-functie van Tailscale; bij netwerken met deze functie werden de benodigde geheimen wel onderschept, maar kon het laatste stadium niet worden voltooid.
Windisch omschrijft het resultaat als "wormable": één gecompromitteerd apparaat kan zich binnen een seconde verspreiden naar alle apparaten die volgens de toegangsregels bereikbaar zijn, zonder wachtwoorden, gestolen sleutels of gebruikersinteractie. Deze verspreiding is echter alleen in het laboratorium vastgesteld en niet in echte netwerken. Het rapport noemt twee factoren die de verspreiding beperken: toegangsregels die zijn opgesteld als enkele bron-naar-bestemmingparen en apparaat sleutels die aan hardware zoals TPM of Secure Enclave zijn gekoppeld.












