Mercados
S&P 5007.624▼ 0,52%Nasdaq25.955▼ 0,21%Dow Jones52.215▼ 1,23%Ibovespa205.083▲ 0,47%FTSE 10010.690▼ 0,32%DAX25.182▼ 0,75%Nikkei62.693▼ 0,34%DólarR$ 4,97– 0,00%EuroR$ 5,58▼ 1,51%BitcoinR$ 394.690▼ 1,95%Powered by WIREDESK OSS&P 5007.624▼ 0,52%Nasdaq25.955▼ 0,21%Dow Jones52.215▼ 1,23%Ibovespa205.083▲ 0,47%FTSE 10010.690▼ 0,32%DAX25.182▼ 0,75%Nikkei62.693▼ 0,34%DólarR$ 4,97– 0,00%EuroR$ 5,58▼ 1,51%BitcoinR$ 394.690▼ 1,95%Powered by WIREDESK OS
Powered by WIREDESK OS
Cibersegurança

Falha no Brotli ameaça Node.js, Python e Bun; atualize já

Vulnerabilidade grave no decodificador Brotli permite corromper memória e possivelmente executar código remoto em Node.js, Bun, pacotes Python e proxies Envoy. Atualização é urgente.

Falha no Brotli ameaça Node.js, Python e Bun; atualize já

Segurança

Atualize imediatamente para proteger seus sistemas contra a vulnerabilidade crítica no decodificador Brotli que afeta várias plataformas.

Leia também: Governo britânico propõe até 14 anos por dano a cabos submarinos

Uma falha crítica no decodificador Brotli do Google, identificada como CVE-2026-111497, coloca em risco runtimes como Node.js e Bun, pacotes Python e proxies Envoy ao permitir que dados comprimidos maliciosos corrompam a memória de programas e possam levar à execução de código por invasores. A vulnerabilidade veio a público em 21 de outubro e já desencadeia uma onda de atualizações em projetos e distribuições Linux.

Falha de corrupção de memória atinge ecossistema inteiro

O erro está no código C que descompacta fluxos Brotli e é reaproveitado por diversos softwares. Ao processar um conteúdo especialmente preparado, o decodificador escreve além do final do buffer alocado, corrompendo a memória da aplicação. Esse tipo de falha pode causar travamentos, vazamento de informação sensível ou abrir caminho para execução remota de código (RCE).

“O bug é no código C que descompacta um fluxo Brotli, então ele se propaga para tudo que reutiliza esse código, de runtimes de linguagem a proxies e pacotes Python”, explica a análise técnica. Como cada projeto embute sua própria cópia do decodificador, cada um precisa liberar e instalar sua atualização específica.

Segundo o time Codex Security, da OpenAI, “a falha permite execução remota de código não autenticada no Brotli”. O Google, responsável pelo formato de compressão, atribui gravidade 9,2 na escala CVSS 4.0, classificada como crítica. Node.js trata o problema como de alta severidade, enquanto a Red Hat fala em nível importante, com pontuação 8,1.

Como a vulnerabilidade é explorada na prática

A exposição só ocorre quando o programa decodifica dados Brotli controlados por terceiros. “Um programa está exposto somente se decodificar dados Brotli que outra pessoa controla”, resume a orientação técnica.

No caso de Node.js e Bun, isso acontece principalmente quando a função fetch() recebe respostas HTTP com cabeçalho Content-Encoding: br, fazendo a descompressão de forma transparente. Também ficam vulneráveis aplicações que aceitam corpos de requisição comprimidos em Brotli, como APIs construídas com Express 5 e o middleware body-parser 2.

Proxies Envoy e malhas de serviço baseadas em Istio são afetados quando a descompressão de Brotli está habilitada em filtros ou configurações específicas. Se o recurso estiver desativado, o bug não é alcançado pelo tráfego.

Em Python, o risco aparece com a simples instalação dos pacotes Brotli ou brotlicffi. Uma vez presentes no ambiente, clientes HTTP como requests, urllib3, httpx e aiohttp passam a decodificar respostas Brotli automaticamente, mesmo que o desenvolvedor nunca importe explicitamente essas bibliotecas no código da aplicação.

Pesquisadores de segurança da Imperva conseguiram demonstrar exploração prática da falha em um cenário específico: um build não corrigido do Node.js 24.22.0 para Linux ARM64. “A exploração foi demonstrada em um build não corrigido do Node.js 24.22.0 para Linux ARM64, entregando código malicioso tanto como resposta fetch quanto como corpo de requisição Express”, afirma o Red Team da empresa, que batizou a técnica de Node2Shell. O exploit, porém, não foi divulgado publicamente e não há confirmação de que o mesmo método funcione em outras versões ou plataformas.

Entenda o contexto

Brotli é um formato de compressão criado pelo Google e amplamente usado na web para reduzir o tamanho de páginas e outros conteúdos trafegados por HTTP. O decodificador em C é reutilizado em múltiplos projetos, o que ajuda a explicar o alcance da vulnerabilidade.

A correção do erro tem uma trajetória incomum. “A correção foi adicionada ao código-fonte do Brotli em fevereiro, mas só foi liberada em outubro”, relata a OpenAI. À época, a alteração foi feita sem que se percebesse que o bug tinha impacto de segurança; só mais tarde a falha foi reconhecida como vulnerabilidade crítica e empacotada em versões oficiais e atualizações de terceiros.

O alerta de hoje atinge não apenas desenvolvedores de aplicações web, mas também provedores de serviços em nuvem, plataformas de hospedagem e empresas que operam grandes volumes de APIs. Como Brotli é usado tanto em respostas quanto em requisições, o vetor de ataque pode passar por navegadores, microserviços internos, integrações entre sistemas e até por proxies reversos e gateways de API.

Quais softwares são afetados e qual o impacto

CVE-2026-111497 impacta diretamente runtimes e bibliotecas que embutem o decodificador Brotli do Google. Entre os mais citados estão Node.js, Bun, pacotes Python Brotli e brotlicffi, proxies Envoy (incluindo ambientes com Istio), além de sistemas operacionais e distribuições Linux que oferecem o pacote brotli em seus repositórios.

Na prática, isso significa que qualquer aplicação que trate conteúdo Brotli vindo de fontes externas pode ser alvo de ataques — de quedas pontuais de serviço a invasões completas de servidores, caso a exploração de código remoto seja viável no ambiente específico. Setores que dependem fortemente de arquiteturas web e serviços em nuvem, como e-commerce, fintechs, plataformas SaaS e APIs públicas, estão entre os mais expostos.

O time Codex Security, da OpenAI, foi responsável por reportar a vulnerabilidade, listando Node.js, Bun e Envoy entre o software afetado. A equipe da Imperva reforça o alerta ao mostrar a viabilidade de exploração, ainda que em cenário limitado.

Até o momento, porém, não há registro de ataques em produção explorando o bug. “Não há exploração em ambiente real reportada”, aponta a avaliação publicada por uma agência de cibersegurança em 23 de outubro, que também indica ausência de automação conhecida para explorar a falha.

Distribuições Linux e pacotes Python correm atrás

Fabricantes e mantenedores se movimentam em ritmos diferentes. Projetos como Google Brotli e Node.js liberaram correções já no dia 21, seguidos por atualizações em outras plataformas. Distribuições corporativas, como Red Hat, classificam a falha como importante e trabalham em patches próprios.

Em ambiente Debian, o pacote de sistema brotli para a próxima versão estável, Debian 13 (trixie), foi corrigido em 23 de outubro, na versão 1.1.0-2+deb13u1. Outras distribuições ainda estão em processo: Amazon Linux 2023, por exemplo, mantém listados como pendentes os ajustes para o pacote brotli e para o Node.js 24.

No ecossistema Python, a detecção automática da vulnerabilidade por ferramentas de análise de dependências ainda é falha. O registro oficial do CVE aponta para o repositório Brotli do Google, e não para os pacotes no PyPI, o que faz com que scanners como os integrados a plataformas de código ainda deixem de emitir alertas. Avisos dedicados aos pacotes Brotli e brotlicffi foram incluídos em repositórios de segurança específicos, o que deve ajudar, mas administradores são orientados a checar manualmente as versões instaladas.

Mitigação: atualização e reinício são essenciais

A orientação é clara: atualizar imediatamente runtimes, bibliotecas e pacotes de sistema que incluam o decodificador Brotli vulnerável. “Atualize para uma versão corrigida, reinicie o serviço e reconstrua qualquer imagem de container, pois o processo em execução mantém o decodificador antigo até reiniciar”, recomenda a documentação técnica.

Em ambientes conteinerizados, isso significa não apenas aplicar o patch, mas também gerar novas imagens e garantir o redeploy dos serviços. Onde a atualização imediata não é viável, a diretriz é interromper qualquer decodificação de dados Brotli que não sejam totalmente confiáveis.

Medidas de mitigação parciais, porém, têm eficácia limitada. “Remover ‘br’ do cabeçalho Accept-Encoding não resolve, pois o servidor pode enviar Brotli mesmo assim”, alerta a orientação de segurança. Firewalls de aplicação conseguem bloquear parte do tráfego malicioso, mas não cobrem cenários em que funções ou serviços internos fazem requisições para outros servidores e descompactam as respostas por conta própria.

Plataformas de hospedagem, como provedores de funções serverless e edge, têm adotado regras adicionais de firewall e iniciado atualizações dos runtimes subjacentes. Mas a responsabilidade final recai sobre equipes de desenvolvimento e operações, que precisam mapear onde Brotli é usado de forma automática e garantir que nenhuma versão vulnerável permaneça em produção.

A comunidade de segurança acompanha de perto os próximos passos. Se surgirem exploits públicos mais robustos, o risco para ambientes desatualizados tende a aumentar rapidamente, o que torna os próximos dias decisivos para fechar a brecha em servidores, APIs e serviços que dependem do ecossistema Brotli.