Uma falha na plataforma Workers AI da Cloudflare fez com que 155 respostas do modelo GLM 5.3 incluíssem dados de requisições de outros clientes, afirmou a empresa em um relatório pós-incidente publicado na segunda-feira. Todas as respostas afetadas seguiram prompts com mais de 681.280 tokens e foram geradas entre 27 de agosto e 9 de setembro de 2026.

O pesquisador de segurança Gadi Evron, da Knostic, relatou o problema à Cloudflare em 8 de setembro pelo programa de recompensas por bugs HackerOne da empresa. A Cloudflare reproduziu o problema na manhã seguinte, declarou um incidente de segurança e tirou o modelo do ar em até 40 minutos. A empresa restabeleceu o modelo em 9 de setembro, após implantar uma configuração corrigida e um mecanismo de inferência com correção.

A falha afetou outros modelos do Workers AI?

A Cloudflare disse ter confirmado que nenhum outro modelo hospedado no Workers AI foi afetado. Após descartar seus próprios testes e os do pesquisador, a empresa afirmou que as requisições analisadas correspondiam ao tempo e ao volume de uso comum de contextos longos. Não encontrou sinais de que alguém tenha explorado o bug repetidamente.

Dois problemas se sobrepuseram

O que causou a exposição de dados do GLM 5.3 na Cloudflare?

A Cloudflare afirmou que a exposição veio de dois problemas que se combinaram para produzir o vazamento. O primeiro foi uma configuração incorreta. A empresa implantou o GLM 5.3 com uma janela de contexto de 1.048.576 tokens, mas o pool de cache chave-valor (KV) nas GPUs de pré-preenchimento só conseguia armazenar 681.280 tokens. A Cloudflare sabia da incompatibilidade antes do lançamento. Durante os testes, porém, as requisições de contexto longo retornaram códigos de status HTTP de sucesso e transmitiram saídas sem quadros de erro. A empresa presumiu que o mecanismo lidaria sozinho com a diferença.

O segundo foi um bug no SGLang, o mecanismo de inferência de código aberto usado pela Cloudflare. Quando um prompt era grande demais para o pool, o SGLang marcava a requisição como rejeitada e substituía o prompt por um marcador de um único token. Na configuração desagregada que a Cloudflare utiliza, em que um grupo de GPUs processa o prompt e outro gera a resposta, essa requisição rejeitada ainda percorria o sistema. O nó de decodificação reservava memória para o prompt completo e então lia páginas deixadas por requisições anteriores. Essas páginas continham prompts e respostas parciais de outros usuários.

O resultado, segundo a Cloudflare, foi que os usuários afetados receberam um código de sucesso HTTP 200 em vez de um erro. As respostas eram coerentes e chegavam mais rápido do que o processamento de um prompt completo levaria, o que a empresa considerou um sinal de que algo estava errado. A Cloudflare afirmou que toda requisição acima do limite seguiu o mesmo caminho, de modo que a falha não foi uma coincidência de tempo.

O bug no SGLang já havia sido reportado ao projeto por outro usuário como a issue #30233, em 6 de julho de 2026. A Cloudflare disse ter notado esse relatório durante a investigação do incidente. A empresa afirmou que vinha sinalizando problos desse tipo com o SGLang desde a versão 0.5.10, e que o incidente acelerou um trabalho que já havia iniciado com os mantenedores do projeto.

O que a Cloudflare mudou

Como a Cloudflare corrigiu a falha do Workers AI?

A Cloudflare ajustou a configuração do GLM 5.3 para corresponder à configuração do GLM 5.2. Isso liberou memória de GPU suficiente para que o pool de pré-preenchimento armazenasse cerca de 2,04 milhões de tokens, aproximadamente o dobro da janela de contexto do modelo. A empresa também corrigiu seu mecanismo para que as requisições rejeitadas retornem o erro original antes que qualquer memória seja alocada ou qualquer dado seja transferido. A correção foi enviada ao projeto original como pull request #38704, e uma alteração relacionada, a #38935, foi incorporada pelos mantenedores do SGLang.

A Cloudflare se reuniu com os mantenedores do SGLang na RadixArk em 10 de setembro, um dia após o incidente. A empresa afirmou que o projeto lançou correções nas versões 0.5.20, 0.5.21 e 0.5.22 do SGLang, e recomendou que todos os operadores atualizassem para a 0.5.22 ou posterior. A Cloudflare também adicionou salvaguardas extras às suas implantações de produção do SGLang entre 11 e 19 de setembro. Entre elas estão uma soma de verificação por transferência, que permite aos nós de decodificação verificar os dados recebidos, e mudanças na forma como o balanceador de carga da empresa trata desconexões de clientes durante as transferências.

A Cloudflare disse ainda ter criado um protótipo que marca cada página de memória e verifica essas marcações antes que a etapa de decodificação leia o cache. A empresa afirmou que o protótipo adicionou menos de 1% ao throughput e à latência de cauda em seus testes. Ele foi desativado em meados de agosto por causa de problemas de confiabilidade, e a Cloudflare afirmou que agora trabalha com a equipe do SGLang em uma versão para produção.

A empresa agradeceu a Evron por fornecer um script claro e reproduzível e por conceder tempo para corrigir o problema antes da publicação. O relatório pós-incidente foi divulgado como parte de uma divulgação coordenada com o pesquisador e a RadixArk, responsável pela manutenção do SGLang.

Este artigo foi escrito com a assistência de IA.
News Factory APP - notícias agênticas para impulsionar seu SEO e AEO.