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

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

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

Уязвимость, получившая название ParseThru, была обнаружена экспертами из израильской компании Oxeye. ParseThru позволяет злоумышленникам получить несанкционированный доступ к облачным приложениям на Golang . Специалисты связывают уязвимость c несоответствиями, которые возникают из-за изменений в логике парсинга URL в Golang, реализованного в библиотеке “net/url”.

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

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

Проще говоря, хакер должен отправить запросы, содержащие точку с запятой. Эти запросы будут игнорированы пользовательским API Golang, но обработаются внутренней службой.

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

Цифровые следы - ваша слабость, и хакеры это знают.

Подпишитесь и узнайте, как их замести!