Voltar
Vulnerabilidade RCE de US$90.000 Descoberta em DevSite do Google

Vulnerabilidade Crítica de RCE no DevSite do Google Rende Recompensa de US$90.000

Aprofundamento CEVIU

Aprofundamento

A vulnerabilidade de Execução Remota de Código (RCE) encontrada no DevSite do Google expôs uma série de falhas críticas nas práticas de segurança de aplicações web. O problema central estava na má utilização de um cookie de sessão Flask. Cookies de sessão Flask são assinados, não criptografados. Isso significa que, embora o servidor possa verificar a integridade dos dados, o conteúdo é visível para qualquer um que possua o cookie.

A investigação revelou que o cookie continha um payload serializado em pickle, que incluía o client_secret do OAuth do Google em texto simples. O ponto crucial: esse mesmo client_secret era reutilizado como a chave SECRET_KEY do Flask para assinar o próprio cookie. Essa falha, um exemplo clássico de um segredo exercendo 'duas funções', permitiu ao pesquisador recriar a assinatura offline e forjar cookies de sessão válidos. Com um cookie falsificado, foi possível injetar objetos pickle arbitrários na sessão. A função pickle.loads, usada para deserializar esses objetos, executou o código malicioso, provado com testes de timing que manipulavam time.sleep(N).

O que mudou

Antes da correção, o Google DevSite reutilizava o client_secret OAuth como chave de assinatura do Flask, armazenando objetos serializados sensíveis, incluindo o próprio segredo, nos cookies de sessão controlados pelo cliente. Essa prática abria a porta para falsificação de sessões e execução remota de código via deserialização insegura de pickle.

A solução, implementada em 7 de outubro de 2026, isolou as chaves de assinatura das credenciais OAuth, garantindo que cada uma tenha uma função única e segura. Agora, objetos serializados sensíveis não são mais armazenados em sessões que o cliente pode manipular. Além disso, o fluxo do objeto OAuth é mantido no lado do servidor, com o cookie armazenando apenas uma referência opaca, e o uso de pickle foi evitado para dados que cruzam o limite do cliente, substituído por formatos mais seguros.

Por que isso importa

Esta RCE é um lembrete vívido sobre a importância da gestão de segredos e da segurança na serialização de dados. Para desenvolvedores, o caso demonstra que segredos críticos, como chaves de assinatura e credenciais OAuth, devem ser únicos, de alta entropia, e gerenciados estritamente no servidor, nunca expostos em texto simples ou reutilizados para múltiplas funções. A reutilização do client_secret foi um elo fraco fundamental.

A vulnerabilidade também reforça o perigo inerente à deserialização de dados não confiáveis, especialmente com módulos como o pickle do Python, que é conhecido por ser inseguro para entradas maliciosas. Este incidente, que resultou em uma recompensa de US$90.000, sublinha a necessidade de auditorias de segurança rigorosas, de boas práticas de codificação e de uma mentalidade de 'defesa em profundidade' para proteger aplicações web contra vetores de ataque complexos.

Linha do tempo

  1. Execução Remota de Comandos no Google Cloud com Exclusão de Diretório Único

  2. Vulnerabilidade no Antigravity, gerente de agente de IA do Google, permite fuga de sandbox e execução remota de código

  3. Falha crítica no SDK do Google Vertex AI permitia sequestro de uploads de modelos via bucket squatting (problema de pickle)

  4. RCE de US$ 148.337 no Google Cloud em produção

  5. Falha Crítica no Google Gemini CLI Permite Execução Remota de Código e Exposição de Segredos Corporativos

  6. Vulnerabilidade Crítica de RCE no DevSite do Google Rende Recompensa de US$90.000

Perguntas frequentes

O que é uma vulnerabilidade de Execução Remota de Código (RCE)?

Uma RCE permite que um atacante execute comandos arbitrários no sistema de um servidor remoto. Esta capacidade oferece ao invasor controle total ou parcial sobre a máquina comprometida, podendo levar à exfiltração de dados, alteração de sistemas ou até mesmo ao controle total da infraestrutura.

Por que a deserialização insegura de objetos pickle é perigosa?

O módulo pickle do Python pode serializar e deserializar objetos complexos, incluindo código executável. Se um atacante consegue injetar um payload pickle malicioso, o processo de deserialização pode levar à execução de código arbitrário no servidor, uma falha crítica frequentemente explorada em ataques de RCE.

Como o vazamento do client_secret OAuth impactou a segurança do DevSite?

O client_secret OAuth foi exposto em texto simples dentro do cookie de sessão e, pior, foi reutilizado como a chave secreta do Flask. Isso permitiu que o atacante forjasse cookies de sessão válidos, burlando as proteções de integridade e abrindo caminho para a injeção e execução de código malicioso no servidor.

O que são cookies de sessão Flask e qual sua relação com esta vulnerabilidade?

Cookies de sessão Flask são usados para manter o estado do usuário entre requisições HTTP. Eles são assinados digitalmente para garantir que o conteúdo não foi adulterado. No entanto, eles não são criptografados. Se a chave de assinatura é comprometida, como neste caso, um atacante pode criar cookies válidos com conteúdo arbitrário, enganando o servidor e permitindo o controle da sessão.

Fontes

Avalie este artigo:
Categoria
CEVIU Web Dev
Publicado
13 de outubro de 2026
Editoria
CEVIU Web Dev

Quer receber mais sobre CEVIU Web Dev?

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

Conteúdo curado diariamenteDiversas categoriasCancele quando quiser