Golang ParseThru Open Source Oxeye Израиль уязвимость
Уязвимость позволяет злоумышленникам получить несанкционированный доступ к облачным приложениям.
Уязвимость, получившая название 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 оперативно проинформировала разработчиков уязвимых приложений и они уже выпустили обновления, закрывающие бреши в их защите.
SECURITYLAB.RU