Одна ошибка в подписи превратила публичный дескриптор Tor в материал для восстановления ключа, который управляет адресом сайта. Searchlight Cyber раскрыла уязвимость GoBalance, позволяющую вычислить секретный ключ .onion-сервиса без какого-либо доступа к серверу, а затем перехватить знакомый адрес и перенаправить посетителей на чужой ресурс.
GoBalance представляет собой переписанную на Go версию OnionBalance, распределяющую один .onion-адрес между несколькими серверами. Такой механизм повышает доступность скрытых сервисов при перегрузках и атаках. Именно борьба с DDoS остаётся одной из сложных задач для onion-сервисов, где обычная фильтрация по IP малоэффективна, поэтому операторы применяют балансировщики.
Ошибка возникает при работе с приватным ключом Tor формата Ed25519. Ключ содержит 64 байта, но GoBalance передаёт функции подписи только первые 32 байта. Вторая половина нужна для формирования секретного значения, от которого зависит уникальность подписи. После усечения значение становится предсказуемым, а одного публичного дескриптора хватает для вычисления долгосрочного мастер-ключа.
Полученный ключ не открывает базу данных и не даёт прямого доступа к серверам. Зато владелец ключа может публиковать корректно подписанные дескрипторы для того же .onion-адреса и направлять посетителей на подконтрольный узел. Такая подмена создаёт условия для фишинга, перехвата учётных данных и показа изменённой копии сайта без взлома исходной инфраструктуры.
Реальный инцидент затронул форум Dread. С 5 по 7 октября два его .onion-адреса перехватили и перенаправили на конкурирующий ресурс Conclave. Первый случай администраторы Dread связывали с ошибочной публикацией приватного ключа, однако захват резервного адреса позже указал на отдельную проблему в GoBalance. Searchlight Cyber считает уязвимость наиболее вероятным объяснением второго эпизода.
Dread после инцидента перешёл на новый адрес и рекомендовал пользователям сменить пароли. Площадка Omega также отключила старый адрес и сообщила о проблеме, связанной с GoBalance. Точное число затронутых сервисов неизвестно. Сам Tor и оригинальный OnionBalance, по данным Searchlight Cyber, уязвимости не имеют, а риск касается конфигураций с мастер-ключом в формате Tor.
Официального исправления и идентификатора CVE на 9 октября нет. Независимый разработчик опубликовал патч и демонстрационный код для восстановления тестового ключа из одного дескриптора, однако релиз не считается официальным. Простого обновления недостаточно для уже раскрытого ключа, поэтому затронутым сервисам придётся выпускать новый .onion-адрес.
