Интернет продолжает трещать по швам. На прошлой неделе вскрылись PHP, GitLab и Node.js, теперь очередь Tailscale. 25 октября исследовательница Erica Windisch выложила в открытый доступ 11 уязвимостей в этой программе. Исправлений к ним пока нет.
Tailscale — популярный способ связать свои компьютеры, серверы и телефоны в одну частную сеть, чтобы они безопасно видели друг друга через интернет. Так соединяют домашние серверы, рабочие ноутбуки и целые парки серверов в компаниях.
Самое громкое в отчёте: если в такой сети взломан хотя бы один компьютер и включён встроенный удалённый вход Tailscale SSH, атака в лаборатории перескакивала на соседние серверы меньше чем за секунду и получала там полный контроль. Исследовательница называет это червём. О реальных атаках пока не сообщалось. Tailscale подтвердила, что получила отчёт, нашла проблемы и готовит исправления.

Что сделать сейчас
- Включите автообновление Tailscale: его советует сама компания, и исправление придёт сразу после выхода.
- Не откатывайтесь на старые версии. Исправлений Tailworm в них тоже нет, а текущая 1.104.2 закрывает другую проблему, с сертификатами.
- Если не пользуетесь Tailscale SSH, выключите его командой
tailscale set --ssh=false. Перед этим убедитесь, что на сервер можно зайти другим способом. - Следите за страницей бюллетеней безопасности Tailscale: исправления появятся там.
Для тех, кто хочет подробнее
Отчёт Tailworm охватывает Tailscale 1.104.2 и headscale 0.29.5 — открытый сервер, на котором сеть Tailscale держат у себя вместо облачного сервиса компании. Все 11 находок автор воспроизвела в своей лаборатории 22–24 октября. На 26 октября у Tailscale нет ни бюллетеня, ни номеров CVE, ни исправленной версии. Независимо находки пока никто не воспроизвёл.
Tailscale SSH проверяет не пароль или ключ пользователя, а устройство: вход разрешает одно правило в политике доступа. Сама служба tailscaled работает с правами root. Если правило разрешает проброс Unix-сокетов (ssh -L и ssh -R), служба открывает и подменяет сокеты тоже от root. В лаборатории обычная SSH-сессия так получила root и прочитала файл паролей /etc/shadow. Через гонку между проверкой пути и его использованием удалось перехватить ключ для подключения устройств и добавить в сеть чужую машину под видом доверенного сервера. До конца эта цепочка прошла только в сетях без Tailnet Lock.
Первый взлом Tailscale не создаёт: нужен уже захваченный компьютер — через уязвимый сайт, заражённый пакет, фишинг или украденные пароли. Но в сети, где устройства доверяют друг другу, такой компьютер открывает путь ко всем серверам, куда ему разрешён вход. В лаборатории распространение остановили только правила «одно устройство — один сервер». Часть исследователей публично сомневается в слове «червь», другие называют находку с root серьёзной.
Остальные находки касаются экспериментальных коннекторов приложений conn25 (обход сетевых правил, в том числе до сервиса метаданных облака), функции serve, ретрансляторов DERP и headscale (отказ в обслуживании).

Вице-президент Tailscale по разработке Mike Shaver написал на Reddit, что компания уже изучала эти области с внешними специалистами, выясняет, какие конфигурации затронуты, и не советует всем отключать Tailscale SSH, передаёт The Hacker News. Компания также предлагает включить режим check для SSH: он добавляет вход перед сессией, но от повышения прав не защищает. Windisch называет раскрытие «сообщённым, но не согласованным»: отчёт и код атак она отправила в службу безопасности Tailscale до публикации, но сроки с компанией не обсуждались. Новость разошлась и в X, например через пост IntCyberDigest.
Похожие ошибки в Tailscale SSH и работе с сокетами компания уже закрывала летом в версии 1.98.9.
Администраторам до исправления в отчёте советуют:
- писать SSH-правила парами «одно устройство — один сервер»;
- запретить проброс в каждом правиле; в headscale 0.29.5 он не отключается, так что любой SSH-доступ там равен root;
- убрать права на коннекторы приложений у устройств, которым они не нужны, и удалить пробросы serve на Unix-сокеты;
- включить истечение ключей узлов, а при подозрении на взлом удалять устройство в панели управления: переустановка системы украденные ключи не отзывает.
Следующий шаг
Если ваши серверы связаны через Tailscale или другую частную сеть, начните с простой карты: какое устройство на какой сервер ходит и с какими правами.
Если захотите обсудить, как это применить у себя или в команде — пишите в Telegram @pimenov


