Уязвимость wpa_supplicant грозит перехватом Wi-Fi 2,3 млрд юзеров Android

Уязвимость wpa_supplicant грозит перехватом Wi-Fi 2,3 млрд юзеров Android

Уязвимость wpa_supplicant грозит перехватом Wi-Fi 2,3 млрд юзеров Android

В утилите wpa_supplicant и демоне IWD (iNet Wireless Daemon, создан Intel) найдены возможности обхода аутентификации, позволяющие получить несанкционированный доступ к целевой беспроводной сети. Проблема актуальна для систем Linux, Android и ChromeOS.

Схожие ошибки в программах Wi-Fi с открытым исходным кодом были обнаружены в ходе совместного исследования профессором Лёвенского университета Мэти Ванхуфом (Mathy Vanhoef) и специалистами компании Top10VPN. Ванхуф давно интересуется вопросами безопасности Wi-Fi и получил известность как автор PoC-атак KRACK, Dragonblood и FragAttacks.

Уязвимость CVE-2023-52160 в wpa_supplicant v2.10 и ниже (по дефолту этот софт используют 2,3 млрд Android-устройств, многие Linux, а также Chromebook) проявляется при неправильных настройках клиента Wi-Fi — когда тот не проверяет SSL-сертификат сервера аутентификации.

В этом случае пользователя, совершающего вход в корпоративную сеть, можно обманом заставить подключиться к вредоносному клону для перехвата его сообщений. Взаимодействия с жертвой не потребуется, нужно лишь находиться неподалеку и знать SSID сети, которой она обычно пользуется.

Уязвимость CVE-2023-52161 в IWD возникла из-за того, что Linux-демон не фиксирует очередность сообщений в ходе хэндшейка, а попросту ведет прием. В результате открылась возможность сократить эту процедуру, пропустив пару этапов, и завершить аутентификацию без ввода пароля.

В тех случаях, когда IWD работает в режиме точки доступа, злоумышленник сможет проникнуть в защищенную сеть — домашнюю или офисную — и подключиться к интернету как законный пользователь или атаковать другие устройства, перехватывать конфиденциальные данные, доставлять зловредов.

Исследователи связались (PDF) с вендорами затронутых продуктов, и те подготовили исправления. Патчи для wpa_supplicant и IWD должны выйти в составе новых сборок, пользователям Android их, видимо, раздадут в составе мартовских обновлений, а латание дистрибутивов Linux, как всегда, будет зависеть от оперативности соответствующих команд.

Расширения Chrome могут слить секреты URL через атаку по стороннему каналу

Как оказалось, расширения Chrome можно использовать для слива кодов авторизации, сеансовых ID и других секретов из URL любой открытой вкладки. Никаких специальных разрешений для этого не понадобится, только доступ к declarativeNetRequest API.

Этот механизм, пришедший на смену webRequest API, позволяет расширениям сообщать браузеру, что следует изменить или заблокировать на загружаемой странице (заголовки, реклама, трекеры).

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

Исследователь Луан Эррера (Luan Herrera) обнаружил, что блокировку, диктуемую правилами, Chrome производит почти мгновенно, за 10-30 мс, а остальные запросы выполняются дольше (~50-100ms) — из-за сетевых подключений. Эту разницу во времени расширение может использовать для бинарного поиска с целью посимвольного слива URL.

// extensions/browser/api/web_request/extension_web_request_event_router.cc:1117-1127
case DNRRequestAction::Type::BLOCK:
  ClearPendingCallbacks(browser_context, *request);
  DCHECK_EQ(1u, actions.size());
  OnDNRActionMatched(browser_context, *request, action);
  return net::ERR_BLOCKED_BY_CLIENT;

Оракул для подобной тайминг-атаки строится с использованием chrome.tabs.reload для перезагрузки страницы и перехватчика chrome.tabs.onUpdated, помогающего отследить событие status === "complete". Замер времени между reload и завершением загрузки покажет, заблокирован запрос или успешно обработан.

Повторение проверок и бинарного поиска позволяет получить полный URL (с довеском после «?»), затратив на каждый знак строки несколько прогонов. Таким образом, можно незаметно для пользователя украсть включенные приложением в адрес секреты — токены OAuth и сброса пароля, API-ключи, ссылки на контент, закрытый для поисковых систем.

Проверка PoC проводилась на Windows 11 24H2 с использованием Chrome разных версий:

  • 144.0.7559.97 (Stable)
  • 145.0.7632.18 (Beta)
  • 146.0.7647.4 (Dev)
  • 146.0.7653.0 (Canary)

В Google подтвердили возможность подобной атаки по стороннему каналу, но заявили, что решить проблему нереально.

RSS: Новости на портале Anti-Malware.ru