Уязвимость в SDK AWS поставила под угрозу тысячи компаний
Исследователи из израильской компании Pi обнаружили уязвимость в официальных SDK AWS, позволяющую перенаправлять запросы на серверы злоумышленников. Это открывает доступ к учетным данным облачных сред.
Когда вы используете API AWS, вы доверяете тому, что SDK взаимодействует исключительно с серверами Amazon. Однако, как выяснила израильская компания по информационной безопасности Pi, это не всегда так. Специалисты обнаружили, что с помощью простой манипуляции со строкой региона можно заставить SDK направлять запросы напрямую на серверы злоумышленников.
«Намного больше, чем точечный баг»
Адрес доступа, формируемый SDK, основан на фиксированном шаблоне вида https://{service}.{region}.amazonaws.com. Когда исследователи вводили в поле region строку «@attacker.com#» вместо легитимного значения, интерпретатор URL считывал всё, что было до символа @, как имя пользователя, и отбрасывал содержимое после #, в результате чего запросы перенаправлялись на адрес «attacker.com».
В беседе с Geektime Гай Арзи, генеральный директор Pi, пояснил, что уязвимость позволяла в ряде случаев перехватывать учетные данные (credentials) облака. По словам Арзи, компания выявила этот паттерн в 7 различных SDK, на 6 языках программирования и более чем в 2000 пакетов. «Только SDK для JavaScript скачивается около 2,3 миллиарда раз в неделю», — отмечает он.
Уязвимость затронула языки неравномерно: SDK для Python и Ruby уже много лет содержали защиту от подобного вектора атаки, в то время как другие — нет. Поскольку SDK AWS для сотен сервисов генерируются на основе общих шаблонов, сбой в одном генераторе автоматически распространялся на все языки, использующие этот код.
Административный доступ к продакшену
Система создает адрес доступа, подставляя определение региона в шаблон без предварительной проверки корректности. Реальная опасность возникает в запросах типа AssumeRoleWithWebIdentity, где токен доступа передается в открытом виде, что позволяет злоумышленникам красть идентификационные данные.
«Самой важной частью для нас было доказать влияние в реальном мире», — добавляет Арзи. «С разрешения известного поставщика услуг безопасности нам удалось, без какого-либо взаимодействия с его стороны, получить учетные данные с правами администратора к его производственной среде (продакшену) в AWS. После этого мы обнаружили ту же активную уязвимость в десятках других компаний, включая некоторые из списка Fortune 500, и сообщили им о необходимости исправления».
Диссонанс рейтингов безопасности
После получения отчета AWS выпустила обновления для семи различных SDK, однако присвоила официальный идентификатор CVE-2026-22611 только версии для .NET. Остальные исправления были выпущены без присвоения CVE. Amazon официально не классифицировала эти находки как «уязвимость», описывая изменения как «защитное улучшение» и возлагая ответственность за валидацию ввода на разработчиков.
Гай Арзи критически оценивает такую реакцию: «AWS оценила уязвимость на 3,7 балла (низкий уровень). Но на практике она позволила нам получить права администратора в производственной среде без каких-либо действий со стороны пользователя. Проблема в том, что CVSS измеряет уязвимость в отрыве от среды, в которой она находится, не учитывая близость к критическим системам или чувствительным данным».





