Voltar
Como pesquisadores conseguiram assumir o controle de contas do ChatGPT

Pesquisadores encontram falha que permitia assumir contas do ChatGPT com apenas um link

Aprofundamento CEVIU

Aprofundamento

A pesquisa descreve uma cadeia de exploração que começa em uma conversa pública comum do ChatGPT. O atacante publica o compartilhamento e envia o link. Quando a vítima abre, o payload roda como chatgpt.com dentro da sessão autenticada dela. Os pesquisadores confirmaram que o código listava as conversas, lia o conteúdo de uma conversa privada nunca compartilhada e enviava um trecho para um servidor externo.

O sandbox do Preview em si funcionou. O problema foi outro componente da página principal aceitar ordens dele. Um gráfico carregava a biblioteca MathLive, que instalava na página um listener de postMessage para o teclado virtual. O listener usava política de origem none (aceitava qualquer origem) e não exigia uma janela previamente aprovada. Uma mensagem trocava o layout do teclado por HTML, e a outra mandava exibi-lo. O MathLive jogava esse HTML em innerHTML, e o createHTML só marcava a string como confiável, sem sanitizar.

Para executar script, o HTML criava um iframe com srcdoc sem atributo sandbox, que herdou a identidade chatgpt.com. A CSP bloqueava JavaScript inline, mas permitia scripts do YouTube. O endpoint oEmbed aceitava um parâmetro callback no estilo JSONP e o refletia na resposta antes do erro de validação. Terminar o callback com ;void neutralizou o objeto anexado e o código rodou. A OpenAI corrigiu em 26 de outubro, em duas versões do front-end web, e classificou o relatório como P1. Segundo os pesquisadores, bloquear só o endpoint do YouTube não resolveria a raiz do problema.

Por que isso importa

Para quem opera plataformas e pipelines, o caso mostra que a CSP funciona como controle de reserva, não como barreira única. Na leitura editorial, vale revisar em apps próprios três pontos: receivers de postMessage que não validam origem e janela, configurações entre janelas que aceitam HTML cru e iframes criados dinamicamente sem sandbox. Também serve de alerta sobre allowlists de CSP com domínios de terceiros que oferecem endpoints JSONP. Cada recurso parecia razoável isoladamente, e o risco só apareceu na combinação.

Linha do tempo

  1. OpenAI corrige a falha do MathLive e do HTML Preview e classifica o relatório como P1.

  2. Pesquisadores divulgam a cadeia que permitia assumir contas do ChatGPT com um link.

Perguntas frequentes

O que o atacante precisava para tomar a conta?

Bastava criar uma conversa maliciosa, publicá-la pelo compartilhamento normal do ChatGPT e enviar o link. A vítima não precisava instalar app, entrar em projeto ou colar código. Na versão mais estável, ela clicava uma vez no botão de Preview. Os pesquisadores também marcaram o bloco HTML como previsualizável para que abrisse sozinho, deixando a abertura do link como único clique.

O sandbox do Preview foi quebrado diretamente?

Não. O Preview não conseguia ler a página principal, como esperado. A falha estava no MathLive, que rodava na página principal e aceitava mensagens de qualquer origem. Por ele, o HTML do atacante criou um iframe sem sandbox com a identidade chatgpt.com.

Qual foi o papel do YouTube na cadeia?

A CSP do ChatGPT bloqueava JavaScript inline, mas permitia scripts do YouTube. O endpoint oEmbed refletia o parâmetro callback na resposta, mesmo ao rejeitá-lo. Isso permitiu executar código por um domínio já autorizado. Segundo os pesquisadores, foi o contorno final da CSP, não a causa raiz.

O problema já foi corrigido?

Sim. A OpenAI corrigiu em 26 de outubro e classificou o relatório como P1. A correção saiu em duas versões do front-end web. Nessa data, a empresa confirmou que ambas rejeitavam as mensagens MathLive entre frames usadas no relatório e marcou o caso como resolvido.

Fontes

Avalie este artigo:
Categoria
CEVIU DevOps
Publicado
02 de novembro de 2026
Editoria
CEVIU DevOps

Quer receber mais sobre CEVIU DevOps?

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

Conteúdo curado diariamenteDiversas categoriasCancele quando quiser