Atlas VPN — VPN-сервис, предлагающий бюджетное решение на базе WireGuard и поддерживающий все основные ОС.
В примере эксплойта, опубликованном на Reddit, исследователь демонстрирует, как Linux-клиент Atlas VPN последней версии 1.0.3 включает конечную точку API, которая прослушивает localhost (127.0.0.1) через порт 8076.
Этот API предоставляет интерфейс командной строки (CLI) для выполнения различных действий, например, для отключения VPN-сессии по URL-адресу http://127.0.0.1:8076/connection/stop
.
Этот API не выполняет никакой аутентификации, что позволяет любому пользователю, посещающему сайт, отправлять команды в CLI
Эксплойт нулевого дня
Пользователь Reddit с ником «Educational-Map-8145» опубликовал на Reddit эксплойт подтверждения концепции (PoC), который использует API Atlas VPN Linux для раскрытия реальных IP-адресов пользователей.
В примере PoC создается скрытая форма, которая автоматически отправляется с помощью JavaScript для подключения к URL http://127.0.0.1:8076/connection/stop.
При обращении к этой конечной точке API происходит автоматическое завершение всех активных сеансов Atlas VPN, скрывающих IP-адрес пользователя.
После разрыва VPN-соединения происходит подключение к api.ipify.org
для регистрации реального IP-адреса посетителя.
Это серьезное нарушение конфиденциальности для любого пользователя VPN, поскольку раскрывает его физическое местоположение и реальный IP-адрес, что позволяет организовывать отслеживание и сводит на нет одну из основных причин использования VPN-сервиса.
Инженер по кибербезопасности Amazon Крис Партридж (Chris Partridge) подтвердил эффективность эксплойта, создав видеоролик, демонстрирующий, что он может быть использован для раскрытия IP-адреса.
Партридж пояснил, что PoC обходит существующую защиту CORS (Cross-Origin Resource Sharing) в браузерах, поскольку запросы к API Atlas VPN отправляются в виде данных форм.
Патридж пояснил, что, согласно спецификации CORS:
Отправка форм освобождена от CORS по причинам совместимости и поддержки legacy-кода, так как это считается простым запросом.
Обычно система CORS блокирует запросы, выполняемые скриптами веб-страниц к доменам, отличным от домена источника. В случае данного эксплойта речь идет о запросах любого сайта к localhost посетителя по адресу http://127.0.0.1:8076/connection/stop.
Партридж объяснил, что использование формы отправки для обхода CORS не позволит веб-сайту увидеть какой-либо ответ после отправки данных.
В данном случае ответ и не требуется, поскольку форма используется просто для доступа к URL-адресу для отключения VPN-соединения Atlas в Linux.
Патридж добавил:
Предполагается, что формы должны защищать от атак CSRF. Как мы видим сегодня, это не совсем верное предположение, которое привело к некоторым непредвиденным последствиям.
Исправление уже в разработке
Пользователь Reddit утверждает, что обратился в Atlas VPN с жалобой на проблему, но был проигнорирован, поскольку в компании не действует программа вознаграждения за ошибки. Таким образом, единственным логичным выходом оставалось публичное раскрытие информации.
Разработчики Atlas VPN отреагировали на проблему через четыре дня после ее раскрытия, извинились перед исследователем и пообещали выпустить исправление для своего Linux-клиента в самое ближайшее время. Кроме того, пользователи Linux будут уведомлены о выходе обновления.
Представитель Atlas VPN заявил:
Мы знаем об уязвимости в системе безопасности, затрагивающей наш Linux-клиент. Мы очень серьезно относимся к вопросам безопасности и конфиденциальности пользователей, поэтому мы активно работаем над устранением проблемы в кратчайшие сроки. После исправления уязвимости наши пользователи получат предложение обновить приложение для Linux до последней версии.
Уязвимость затрагивает Linux-клиент Atlas VPN версии 1.0.3. По словам исследователя, из-за уязвимости приложение и, соответственно, зашифрованный трафик между пользователем и VPN-шлюзом могут быть отключены злоумышленником. Это может привести к раскрытию IP-адреса пользователя.
Мы высоко ценим важную роль исследователей в области кибербезопасности в выявлении и устранении недостатков в системах, что позволяет защититься от возможных кибератак, и благодарим их за привлечение нашего внимания к данной уязвимости. Мы будем проводить дополнительные проверки безопасности в процессе разработки, чтобы избежать подобных уязвимостей в будущем. Если кто-то столкнется с другими потенциальными угрозами, связанными с нашим сервисом, пожалуйста, свяжитесь с нами по адресу [email protected].
Учитывая критический характер этой уязвимости «нулевого дня» пользователям Linux-клиентов настоятельно рекомендуется принять срочные меры предосторожности, в том числе рассмотреть возможность использования альтернативного VPN-решения.
Угрозы безопасности
• Менеджер паролей Proton Pass хранит пароли в открытом виде в оперативной памяти
• Бэкдор в Free Download Manager: Опасность для пользователей Linux
• Adobe исправила критическую уязвимость «нулевого дня» в Acrobat и Reader, используемую в реальных атаках
• Уязвимость Atlas VPN приводит к утечке реального IP-адреса
• В роутерах Asus обнаружены критические уязвимости: обновите свои устройства как можно скорее
• Расширения Chrome могут перехватывать пароли, передаваемые в открытом текстовом виде