CEVIU Logo
Voltar

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

Avalie este artigo:
Compartilhar:
Categoria
CEVIU Segurança da Informação
Publicado
17 de junho de 2026
Editoria
CEVIU Segurança da Informação

Quer receber mais sobre CEVIU Segurança da Informação?

Conteúdo curado diariamente, direto no seu e-mail.

Conteúdo curado diariamenteDiversas categoriasCancele quando quiser