Tailscale выпустила 1.104.4 и закрыла дыры во встроенном SSH-сервере.
Форвардинг сокетов шёл от root: путь проверялся, а потом подменялся — тайминг. В тестах Эрики Виндиш (Cyberdione Labs, отчёт Tailworm) форвард на сокет Docker дал root-шелл и чтение /etc/shadow. Пароли не нужны: доступ решают identity устройства и политика, так что хватит foothold на машине, которой политика уже доверяет.
Всего четыре бюллетеня: сам форвардинг, выжирание памяти до падения tailscaled, serve через Unix-сокет до local API, утечка заголовков прав при TLS serve. Фикс по идее простой — форвардить от имени залогиненного юзера и полагаться на права ФС, а не на собственную проверку пути.
Хуже всех headscale: там форвардинг даётся на каждой принятой сессии и политикой не отключается, то есть любой SSH-грант де-факто равен root. В 0.29.5 от 13 октября не исправлено.
Check mode не спасает — он про старт сессии, а форвардинг живёт внутри уже одобренной. Украденный ключ устройства валиден, пока устройство не удалено на control plane: переустановка ОС его не отзывает.
CVE и severity нет. Ярлык wormable Tailscale отвергает: мол, не самораспространение, а lateral movement строго в рамках политики, хотя дыры сама назвала серьёзными. Отчёт вышел без согласования, атак не зафиксировано. Если обновиться нельзя — TS_SSH_DISABLE_FORWARDING=1.
#Tailscale #SSH #уязвимости #безопасность



