Молодой исследователь в области безопасности получил от Google $36 337 за раскрытие информации о серьезной уязвимости в Google App Engine. Вознаграждение досталось 18-летнему студенту Республиканского университета в Уругвае.
Google App Engine представляет собой службу хостинга сайтов и web-приложений на серверах Google с бесплатным именем <имя_сайта>.appspot.com либо с собственным именем, задействованным с помощью служб Google.
По словам специалиста, в начале этого года ему удалось получить доступ к среде разработки Google App Engine, в которой была возможность использовать внутренние API.
Каждое приложение Google App Engine (GAE) отвечает на HTTP-запросы с заголовком «X-Cloud-Trace-Context». В процессе исследования эксперт понял, как приложения GAE выполняют внутренние действия, включая запись в журнал и извлечение токенов OAuth.
Внутренние действия выполнялись путем отправки сообщений Protocol Buffers (PB) на внутреннюю конечную точку HTTP. В ответ шло соответствующее сообщение PB (ответ от API), либо сообщение об ошибке.
Далее эксперт воспользовался Nmap, с помощью которой обнаружил, что порт 4 был открыт. Затем исследователь поднял клиент C++ и запустил его на GAE, что привело к обнаружению службы gRPC, которая запускала API «apphosting.APIHost».
Студент создал Java-библиотеку, которая считывала аргументы, благодаря этому ему удалось узнать имена API, например, «logservice» и «stubby».
Используя полученную информацию, специалист смог получить доступ к промежуточным и тестовым средам разработки GAE, недоступным для обычных пользователей.
Google посчитала этот недостаток очень серьезным, за что студент и получил щедрое вознаграждение.