StubZero: RCE de US$ 148.337 no Google Cloud em produção
Aprofundamento CEVIU
Aprofundamento
Uma falha inicial de vazamento em endpoints de depuração do Google Cloud se transformou em uma execução remota de código (RCE) com impacto direto no ambiente de produção da plataforma. O problema começou com o acesso não autorizado a definições de protótipos protobuf via endpoint /v1/integrationPlatform:getProtoDefinition, que expunha estruturas internas de serviços como YouTube e infraestrutura de back-end do Google. Isso já era grave por si só, em um ecossistema onde quase todas as APIs são definidas como gRPC com protobuf, ter acesso ao esquema de requisição e resposta é como obter o mapa completo de um sistema fechado.
O salto para RCE aconteceu ao explorar o serviço de integração do Google Cloud, especificamente tarefas do tipo GenericStubbyTypedTaskV2, que permitiam disparar chamadas Stubby arbitrárias usando a identidade de serviço do próprio ambiente de produção. Embora o Google use LOAS e políticas rigorosas de segurança (RpcSecurityPolicy) para restringir chamadas internas, conseguir executar qualquer método Stubby como o serviço de integração abre portas para acessar funcionalidades críticas, desde leitura de dados sensíveis até execução em ambientes protegidos. O fato de isso ter sido possível mesmo após correções parciais mostra a complexidade de mitigar vulnerabilidades em sistemas distribuídos com balanceamento de carga e múltiplos backends.
Por que isso importa
Esse caso destaca como pequenas falhas de design, como expor endpoints de debug ou confiar em validação insuficiente de contexto entre projeto e recurso, podem escalar para comprometimento total de ambientes cloud. Para desenvolvedores, é um alerta sobre o perigo de superfícies de ataque ocultas: um simples vazamento de proto pode virar 'req2proto as a service', e um fluxo de workflow mal validado pode virar vetor de execução privilegiada. A arquitetura baseada em microserviços e RPCs exige controles rigorosos de autorização em cada salto interno, não apenas na borda. Além disso, a coordenação entre pesquisadores foi essencial para o sucesso do ataque, mostrando que colaboração técnica pode superar barreiras artificiais impostas por patches incompletos.
Linha do tempo
Primeiro relatório enviado ao Google, com vazamento de definições protobuf e acesso a fila interna de workflows
Escalação do bug para RCE com prova de conceito usando GenericStubbyTypedTaskV2 e dois contas controladas
Google paga US$ 60.000 pelo bug, classificado como comprometimento de produção do Google Cloud
Nova onda de falhas descoberta, incluindo IDORs na API pública do Application Integration, três meses após a correção inicial
Perguntas frequentes
O que tornou o endpoint getProtoDefinition tão perigoso?
Ele expunha as definições completas de mensagens protobuf usadas internamente pelo Google, incluindo serviços como YouTube. Como toda comunicação interna no Google usa protobuf e gRPC, esse vazamento permitia mapear estruturas de requisição e resposta de APIs fechadas, facilitando ataques direcionados. Era como ter o manual técnico de todos os serviços internos.
Como foi possível alcançar RCE se o Google tem camadas de autenticação interna?
Ao configurar uma tarefa de workflow chamada GenericStubbyTypedTaskV2, os pesquisadores conseguiram disparar chamadas Stubby arbitrárias usando a identidade de serviço do ambiente de produção. Mesmo com políticas de segurança (RpcSecurityPolicy), certas chamadas internas eram permitidas para esse serviço, aumentando drasticamente a superfície de ataque. O acesso não era direto ao sistema operacional, mas sim à rede interna de produção via RPC.
Por que a falha voltou três meses depois?
Após a correção inicial, novos testes revelaram IDORs (Insecure Direct Object References) na API pública do Application Integration. Era possível acessar recursos de outros usuários trocando apenas o UUID na URL, porque a verificação de autenticação era feita apenas no projeto, não no vínculo entre recurso e projeto. Isso mostra falhas persistentes em controle de acesso baseado em contexto.
Fontes
- brutecat.comfonte original
- Categoria
- CEVIU Web Dev
- Publicado
- 25 de junho de 2026
- Editoria
- CEVIU Web Dev

