Уязвимость ParseThru затрагивает приложения на Golang

Уязвимость ParseThru затрагивает приложения на Golang

Уязвимость ParseThru затрагивает приложения на Golang

Специалисты израильской компании Oxeye выявили новую уязвимость в Golang-приложениях. Брешь, получившая имя ParseThru, может использоваться для получения несанкционированного доступа к облачным приложениям.

Проблема связана с несоответствиями, которые возникли из-за изменений, внесенных в логику парсинга Golang URL, имплементированного в библиотеке “net/url”.

«Новая уязвимость позволяет условным атакующим при определенных условиях обойти валидацию. Причиной является использование небезопасных методов парсинга URL, встроенных в язык», — пишут исследователи в отчете.

Известно, что версии Golang до 1.17 считают точку с запятой вполне допустимым разделителем запроса (например, example.com?a=1;b=2&c=3). Однако в этом релизе авторы внесли изменения: теперь выдается ошибка, если в строке запроса содержится точка с запятой.

 

«Пакеты net/url и net/http раньше принимали точку с запятой в качестве разделителя в URL-запросах вдобавок к амперсанду. Теперь же такие запросы будут отклоняться, а серверы — записывать ошибку в “Server.ErrorLog”», — гласят примечания к версии 1.17.

 

Уязвимость ParseThru возникает в тот момент, когда публичный API Golang, основанный на 1.17 и более поздних версиях, начинает взаимодействовать с бэкенд-сервером, на котором запущена более ранняя версия. Таким образом, злоумышленник может «протащить» запросы с параметрами, которые в нормальных условиях должны отклоняться.

Другими словами, атакующему достаточно отправить запросы, содержащие точку с запятой, после чего внутренний сервис обработает их. Специалисты Oxeye нашли несколько примеров ParseThru в проектах с открытым исходным кодом: Harbor, Traefik и Skipper.

Сотни бесплатных VPN для Chrome сливали трафик в один прокси

Исследователи из Socket обнаружили в Chrome Web Store масштабную сеть из 737 расширений, выдававших себя за бесплатные VPN. За операцией стояли как минимум 40 аккаунтов разработчиков, а 274 дополнения копировали названия 66 известных сервисов и брендов.

В списке чужих масок оказались Proton VPN, NordVPN, Surfshark, ExpressVPN, AmneziaVPN, AntiZapret и даже Cloudflare 1.1.1.1.

Кампания была ориентирована преимущественно на русскоязычных пользователей, желающих открыть Instagram (принадлежит Meta, признанной экстремистской и запрещённой в России), ChatGPT, YouTube и другие заблокированные ресурсы.

После нажатия кнопки Connect расширения направляли практически весь браузерный трафик через фиксированный SOCKS5-прокси на порте 1082. Исключение делалось только для локальных адресов. Никакого раздельного туннелирования: оператор получал положение посредника между пользователем и интернетом.

Такая схема позволяет видеть IP-адреса, посещаемые узлы и метаданные TLS SNI, а незашифрованный HTTP-трафик — читать полностью, включая отправленные пароли.

 

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

Следы в коде и инфраструктуре связывают расширения с сервисом Myxa VPN, или «Муха VPN». Общих операторов выдали домены, идентификаторы аналитики, строки поставщика и даже пути сборки с названием myxa-work.

 

Некоторые дополнения получали удалённые конфигурации уже после проверки магазина. Другие маскировали обращения к инфраструктуре через DNS-over-HTTPS. Платные серверы тоже оказались с приветом: все 200 проверенных адресов в пяти странах не разрешались через DNS.

На момент сбора данных 516 расширений ещё оставались в магазине, хотя Google уже удалила 221. Пользователям советуют снести подозрительные VPN-дополнения, проверить настройки прокси и сменить пароли, вводившиеся на HTTP-страницах.

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