Falha crítica no SDK do Google Vertex AI permitia sequestro de uploads de modelos via bucket squatting
Aprofundamento CEVIU
Aprofundamento
A falha 'Pickle in the Middle' não é um caso isolado de confiança cega em nomes previsíveis, é um sintoma crônico de como SDKs de IA gerenciam infraestrutura compartilhada. O bucket staging não é só um local temporário: é uma porta de entrada para o ambiente de serving do Vertex AI, onde modelos são carregados com privilégios elevados e acesso direto ao metadata server da instância. O fato de o SDK validar apenas a existência do bucket (não a propriedade) revela uma falha de design de autorização no fluxo de upload: o cliente assume que 'se o bucket existe, ele é meu', ignorando que buckets no Cloud Storage são globais e imutáveis por nome, o que transforma qualquer padrão previsível em vetor de squatting.
O payload em pickle não foi um experimento acadêmico: Unit 42 demonstrou exfiltração real de tokens OAuth com escopo amplo, incluindo acesso a BigQuery metadata, GKE cluster names e caminhos internos de imagens de container. Isso significa que um único upload mal configurado podia desencadear movimento lateral dentro do projeto gerenciado pelo Google, não só no seu próprio deployment. E o pior: o ataque não dependia de credenciais roubadas, engenharia social ou configuração errada do lado do servidor, só de um projeto ativo do atacante e do project ID público da vítima.
Por que isso importa
Empresas que usam Vertex AI para produção não estão só arriscando modelos: estão expostas a vazamento de metadados sensíveis, credenciais de serviço reutilizáveis e até dados de outros clientes hospedados no mesmo tenant gerenciado. A vulnerabilidade afeta pipelines de CI/CD, notebooks interativos e scripts de treinamento, qualquer lugar onde o SDK roda sem staging_bucket explícito. Como o Google não atribuiu CVE e não divulgou detalhes técnicos oficiais, muitas equipes ainda ignoram que precisam auditar versões do google-cloud-aiplatform em ambientes não produtivos, não só em servidores.
Perguntas frequentes
Como saber se meu projeto foi afetado?
Verifique se você usou o SDK Python do Vertex AI nas versões 1.139.0 a 1.147.0 sem definir staging_bucket explicitamente. Se sim, revise todos os uploads de modelo feitos entre março e abril de 2026, especialmente em novos projetos ou regiões onde o bucket staging ainda não existia.
Por que o token OAuth roubado era tão perigoso?
O token veio do metadata server da instância de serving e tinha escopo amplo: acessava artefatos de outros modelos no mesmo projeto gerenciado, logs do tenant, listas de acesso e até metadados do BigQuery. Não era um token limitado ao deployment, era uma chave de acesso lateral no ambiente do Google.
A correção na versão 1.144.0 resolveu tudo?
Não. A randomização do nome do bucket (uuid4) reduziu a previsibilidade, mas não impediu squatting. Só a versão 1.148.0 introduziu a verificação de propriedade no método Model.upload(), bloqueando uploads em buckets que não pertencem ao projeto do usuário.
Preciso atualizar só em produção?
Não. O SDK roda em notebooks, jobs de treinamento e pipelines de CI, todos são vetores válidos. Qualquer máquina com google-cloud-aiplatform < 1.148.0 e staging_bucket implícito está vulnerável, mesmo que não esteja em produção.
Fontes
- thehackernews.comfonte original
- Categoria
- CEVIU Segurança da Informação
- Publicado
- 17 de junho de 2026
- Editoria
- CEVIU Segurança da Informação
