Tailworm: дыры в Tailscale SSH позволяют получить root на соседних серверах

· Безопасность
Исследовательница Эрика Виндиш описала цепочку уязвимостей, при которой одно скомпрометированное устройство в сети Tailscale может дотянуться до root на других машинах. Патча пока нет.

cover.svg

Одного взломанного устройства в сети Tailscale может хватить, чтобы получить root-доступ к другим серверам, до которых оно способно дотянуться. Об этом говорится в отчёте под названием Tailworm, опубликованном 25 октября Эрикой Виндиш из Cyberdione Labs.

Для атаки нужны два условия: Tailscale SSH, настроенный с разрешённым пробросом портов, и злоумышленник, уже контролирующий одно устройство, которому правила доступа позволяют подключаться к цели. Первоначальную точку опоры Tailscale не создаёт — её получают обычными способами: через уязвимое веб-приложение, отравленный пакет, фишинг или украденные учётные данные.

Почему это работает

Tailscale SSH устроен не как обычный SSH-сервер: вместо пароля или ключа он опознаёт устройство, и единственное правило доступа решает, может ли оно открыть сессию к цели. Поэтому для атаки не требуются ни украденные пароли, ни ключи.

В лаборатории Виндиш тестировала Tailscale версии 1.104.2 и headscale 0.29.5 на протяжении трёх дней. Она показала проблему поэтапно. Обычная SSH-сессия с пробросом портов заставляла работающий от root процесс Tailscale подключиться к системному сокету, доступному только для root, — и тест почти сразу получал root и читал системный файл паролей. Второй метод подменял сокет, принадлежащий root, сокетом атакующего. Третий обходил проверку безопасности, эксплуатируя гонку между моментом проверки пути к файлу и моментом его использования; эта цепочка захватывала ключ для добавления новых устройств и подключала к сети машину атакующего как доверенный сервер.

Последний шаг срабатывал полностью только там, где не включена функция Tailnet Lock. Виндиш называет результат «червеобразным» (wormable): в лаборатории одно устройство распространялось на все разрешённые правилами машины менее чем за секунду на шаг. Часть исследователей оспаривает это определение, другие называют находку с root-доступом серьёзной.

Реакция и спорная публикация

На момент публикации Tailscale не выпустила ни бюллетеня безопасности, ни CVE, ни исправленной версии. Вице-президент по инженерии Майк Шейвер написал на Reddit, что компания получила отчёт, уже изучала те же области с внешними специалистами и работает над исправлениями, но пока не рекомендует всем отключать Tailscale SSH.

Виндиш назвала раскрытие «о проблеме сообщено, но не согласовано». Код proof-of-concept она не публиковала, передав его только контакту безопасности Tailscale за несколько дней до публичного поста. SSH — лишь одна из 11 находок отчёта; сама исследовательница считает, что проблема с app connector может оказаться опаснее для части организаций.

Что делать сейчас

Патча нет, поэтому остаются только настройки. Отчёт и рекомендации Tailscale во многом совпадают: писать правила доступа как пары «один источник — одна цель», отключать проброс портов там, где это возможно (на headscale 0.29.5 его отключить нельзя — там любой SSH-доступ стоит считать выдачей root), убирать лишние разрешения app connector, включать истечение срока ключей узлов и удалять скомпрометированное устройство на уровне control plane, поскольку переустановка системы не отзывает уже скопированные ключи.


Источник: The Hacker News

Комментарии

Войдите, чтобы комментировать.

  • Пока нет комментариев.