Monorepo da OpenAI alcançado por falhas no libheif e SSO
A Hacktron recebeu 6.500 dólares de recompensa após encadear um estouro de heap no libheif com uma falha de identidade para chegar ao monorepo interno da OpenAI.
3 min de leitura

Em números
- bounty OpenAI paid for the identity finding
- $6,500
- CVSS score of the Discourse vulnerability
- 8.8
- from first discovery to a pull request in the internal repo
- 72h
Três pesquisadores da Hacktron encadearam duas falhas de aparência comum até obter acesso ao repositório interno de código da OpenAI, e publicaram como fizeram isso. A cadeia começou com um arquivo de imagem enviado ao fórum público de ajuda da OpenAI. Ela terminou com um pull request aberto dentro do monorepo privado da empresa, menos de 72 horas depois do início do trabalho.
Nenhuma das falhas era exótica. A primeira foi um estouro de buffer no heap do libheif, a biblioteca que decodifica imagens HEIF e HEIC, o formato que um iPhone produz por padrão. A segunda foi uma configuração de login único que confiava demais no fórum. O texto da Hacktron descreve a combinação como a descoberta real, e não uma das metades.
Como a cadeia funcionou
O fórum da comunidade da OpenAI roda no Discourse, uma plataforma de discussão muito usada. O Discourse passava as imagens enviadas ao ImageMagick, que por sua vez chamava o libheif. No servidor em questão, com Debian 12, faltava ao libheif uma correção de segurança retroportada. Uma imagem preparada bastou, portanto, para executar código no fórum.
O segundo passo é o que transformou uma falha de fórum em um problema da empresa. O fórum usava o próprio sistema de identidade da OpenAI para login, então uma sessão ali tinha peso em outros lugares. "Qualquer usuário ou funcionário da OpenAI que entrasse no próprio fórum de ajuda da OpenAI (community.openai.com) poderia ter tido suas contas do ChatGPT e do Codex tomadas", escreveu a equipe da Hacktron.
Com uma conta de funcionário sob controle, os pesquisadores instruíram o agente Codex dessa pessoa a abrir um pull request no repositório interno da OpenAI. Essa foi a prova, e ali eles pararam. A VentureBeat relatou em 17 de setembro de 2026 que a Hacktron traçou a linha com clareza: "A escalada de conta não foi uma vulnerabilidade do Discourse, mas um problema de identidade da OpenAI."
Cronologia e pagamento
| Evento | Detalhe |
|---|---|
| Descoberta | 23 de julho de 2026 |
| Do relato à correção confirmada | Cerca de 14 horas |
| Gravidade da falha do Discourse | CVSS 8.8, corrigida no mesmo dia do relato |
| Correção de identidade da OpenAI confirmada | 25 de julho de 2026, 22h49 UTC |
| Recompensa | 6.500 dólares, pagos pela Bugcrowd |
Ataques ao próprio Discourse ficavam fora do escopo do programa de recompensas da OpenAI. O pagamento cobriu a descoberta de identidade, que foi a que entrou nos sistemas da própria OpenAI.
O ângulo de IA, dito com cuidado
A Hacktron diz que o trabalho de exploração foi feito com o Claude Opus 5, da Anthropic, lançado em 24 de julho de 2026, e que um modelo anterior teve dificuldade na mesma tarefa. A equipe colocou o gasto total em tokens abaixo de 3.000 dólares. "O trabalho que antes exigia uma equipe bem financiada e meses de esforço agora pode ser comprimido em dias", diz o texto.
Essa afirmação merece a ressalva que os próprios pesquisadores sugerem. Um modelo encurtou a etapa de escrever o exploit. Encontrar uma biblioteca sem correção em um fórum, e notar que esse fórum compartilhava provedor de identidade com contas de produção, é reconhecimento e julgamento. A Tech AI Wire já cobriu casos vizinhos, entre eles agentes da OpenAI atacando o RubyGems em um teste não divulgado.
O que isso significa para desenvolvedores
Audite suas fronteiras de confiança antes das suas dependências. A pergunta é simples: se alguém tomar uma conta na sua propriedade menos importante, o que mais essa conta abre? Um fórum de comunidade, uma página de status ou uma loja de brindes não deveriam compartilhar caminho de login com a produção. Se compartilham, o fórum herda o raio de impacto da produção.
Depois, confira a versão, não o nome do pacote. A falha do libheif já era conhecida e corrigida upstream; a exposição veio de uma imagem de distribuição que não tinha absorvido o retroporte. Tudo que decodifica mídia não confiável nos seus servidores pertence a um inventário com um responsável por correções, e o processamento de imagens em especial deve rodar isolado ou em um serviço separado.
Por fim, trate credenciais de agentes como credenciais de produção. Um assistente com acesso de escrita ao repositório é uma conta que pode enviar código, então merece a mesma revisão, o mesmo escopo restrito e o mesmo caminho de revogação que o token de uma pessoa. Esta história termina em um pull request justamente porque o agente podia abrir um.
Fontes
Artigos relacionados

GPT-6 Astra é o primeiro modelo Critical em ciber da OpenAI
O Astra alcançou 100% no ExploitBench e montou uma cadeia de exploração de navegador em 29 horas. A versão publicada recusa escrever provas de conceito.

RubyGems foi atacado em maio por agentes da OpenAI, dizem pesquisadores
Pesquisadores dizem que agentes da OpenAI colocaram mais de 2.000 pacotes maliciosos no RubyGems em maio e que ninguém avisou os mantenedores. A OpenAI diz que aquilo era benigno.

GPT-6 Astra faz 95% numa tarefa robótica e 10% noutra
A Robocurve testou o GPT-6 Astra e o Claude Fable 5.1 em braços robóticos reais. O Astra acertou 19 em 20 na tarefa fácil e 2 em 20 na difícil.