Уязвимость Cloudflare CDN могла раскрыть данные о местоположении пользователей, даже в защищенных мессенджерах

2025-01-24 1142 комментарии
Исследователь безопасности обнаружил уязвимость в сети доставки контента (Сontent Delivery Network, CDN) Cloudflare, которая позволяла определять общее местоположение человека, просто отправив ему изображение на таких платформах, как Signal и Discord

Хотя эта атака не дает точности до уровня улиц, она может предоставить достаточно данных, чтобы определить регион проживания человека и отслеживать его перемещения.

Находка Даниэля особенно тревожна для людей, серьезно обеспокоенных своей конфиденциальностью, таких как журналисты, активисты, диссиденты и даже киберпреступники.

Однако для правоохранительных органов эта уязвимость может стать полезным инструментом, позволяя определить страну или штат, где может находиться подозреваемый.

Скрытое отслеживание без взаимодействия с пользователем

Три месяца назад исследователь безопасности по имени Даниэль обнаружил, что Cloudflare кеширует медиафайлы в дата-центре, ближайшем к пользователю, чтобы ускорить загрузку.

Он пояснил:

Три месяца назад я обнаружил уникальную атаку без взаимодействия с пользователем, позволяющую определить местоположение цели в радиусе 250 миль (около 400 км).

С установленным уязвимым приложением на телефоне жертвы (или работающим в фоновом режиме на ноутбуке) злоумышленник может отправить вредоносный файл и деанонимизировать вас за секунды — и вы ничего не узнаете.

Чтобы провести атаку, исследователь отправлял уникальное изображение (скриншот или аватар) через CDN Cloudflare. Затем он использовал ошибку в Cloudflare Workers, позволяющую направлять запросы через определенные дата-центры с помощью инструмента Cloudflare Teleport.

Этот метод маршрутизации обычно запрещен стандартными мерами безопасности Cloudflare, которые направляют запросы в ближайший дата-центр.

Анализируя кешированные ответы с разных дата-центров Cloudflare на отправленное изображение, исследователь мог определить общее местоположение пользователя, основываясь на кодах аэропортов рядом с этими дата-центрами.

Поскольку многие приложения, включая Signal и Discord, автоматически загружают изображения для push-уведомлений, злоумышленник может отслеживать цель без ее участия, т.е. атака не требует какого-либо взаимодействия с пользователем.

Точность отслеживания варьируется от 80 до 500 километров в зависимости от региона и плотности дата-центров Cloudflare. Вблизи крупных городов точность выше, чем в сельских районах.

Экспериментируя с геолокацией технического директора Discord Станислава Вишневского, исследователь выяснил, что Cloudflare использует маршрутизацию anycast с несколькими дата-центрами, что улучшает точность.

Реакция платформ

Как сообщает портал 404 Media, исследователь рассказал о своих находках Cloudflare, Signal и Discord. Cloudflare отметила проблему как решенную и выдала вознаграждение в 200 долларов.

Даниэль подтвердил, что ошибка в Workers была исправлена, однако с помощью VPN и изменения настроек Teleport атаки на геолокацию все еще возможны, хоть и стали сложнее.

Исследователь пояснил:

Я выбрал VPN с более чем 3000 серверами в 31 стране. Используя этот метод, я снова могу получить доступ к 54% дата-центров Cloudflare. Хотя это звучит не так масштабно, этого достаточно, чтобы покрыть большинство локаций с большим населением.

Cloudflare в ответ заявила, что ответственность за отключение кэширования лежит на пользователях.

Discord и Signal отвергли отчет, назвав его проблемой Cloudflare, находящейся вне рамок их задач по обеспечению анонимности на уровне сети.

Представитель Cloudflare сообщил:

Уязвимость была раскрыта в декабре 2024 года через нашу Bug bounty, после чего была оперативно расследована и устранена. Возможность направлять запросы в определенные дата-центры через Cloudflare Teleport была устранена. Мы считаем программу Bug bounty важным инструментом для любой команды безопасности и призываем исследователей сообщать о подобных обнаружениях.

© . По материалам Bleepingcomputer
Комментарии и отзывы

Нашли ошибку?

Новое на сайте