Уязвимость 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.

Windows 11 проверит ваш возраст сама и расскажет его приложениям

Microsoft решила превратить проверку возраста из надоедливой анкеты в системную функцию Windows 11. Новые API позволят зарегистрированным приложениям узнавать возрастную категорию пользователя и получать статус её подтверждения, но без доступа к точной дате рождения.

Система разделит владельцев компьютеров на пять групп: до 10 лет, 10-12, 13-15, 16-17 и 18+.

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

Получить данные сможет не каждая программа, случайно поселившаяся на компьютере. Microsoft намерена проверять личность запрашивающего приложения, а разработчику придётся зарегистрироваться на платформе Digital Safety.

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


Зачем всё это? Сейчас каждому сервису приходится самостоятельно выяснять, взрослый ли перед ним человек: просить дату рождения, банковскую карту, документ или хотя бы поставить честнейшую галочку «Мне есть 18». Microsoft хочет оставить конфиденциальные сведения у системного посредника, а приложениям выдавать лишь необходимый минимум.

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

API уже появились в предварительной документации для Windows 11 24H2, но пока не работают: запросы возвращают неопределённый возраст и статус недоступности. Запустить функцию Microsoft планирует в одном из обновлений до конца 2026 года.

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