Uma falha crítica em um sistema de compressão de dados está levando empresas de tecnologia a distribuir atualizações de segurança para evitar ataques que podem comprometer aplicações e servidores. Batizada de HTTP2Shell, a vulnerabilidade afeta o Brotli, tecnologia desenvolvida pelo Google e utilizada em diferentes componentes da infraestrutura da internet.
Continua após a publicidade
A brecha foi classificada com gravidade de 9,2 em escala de dez e pode provocar corrupção de memória, vazamento de informações, interrupção de serviços e, em determinadas condições, execução remota de código. Esse último cenário permitiria que um invasor executasse comandos em um sistema vulnerável.
O problema, identificado pelo código CVE-2026-111497, também é conhecido como Node2Shell e Broccoli2Shell. Entre os softwares potencialmente afetados estão Node.js, aplicações .NET e pacotes de Python que utilizam versões vulneráveis do decodificador Brotli.
Segundo a TechRadar, empresas e projetos já começaram a distribuir correções. Até a publicação da reportagem, porém, não havia confirmação de que a vulnerabilidade estivesse sendo explorada em ataques maliciosos reais.
Como funciona a falha HTTP2Shell?
- O Brotli é um algoritmo de compressão sem perda de dados. Ele reduz o tamanho de arquivos e conteúdos transmitidos pela internet sem alterar as informações originais, ajudando a acelerar o carregamento de páginas e a economizar largura de banda;
- O problema está na maneira como determinadas versões do decodificador processam dados malformados. Uma sequência especialmente preparada pode fazer o programa interpretar incorretamente uma instrução de compressão e continuar adicionando informações a um espaço de memória limitado;
- Esse comportamento pode provocar uma gravação além dos limites previstos, conhecida como buffer overflow. Com isso, partes da memória do processo podem ser corrompidas;
- Dependendo da aplicação e das condições de exploração, o resultado pode ser uma falha no serviço, a exposição de dados armazenados na memória ou a execução de código controlado pelo invasor;
- Para explorar a vulnerabilidade, um atacante precisa conseguir fazer com que uma aplicação processe dados Brotli preparados para acionar o erro. Isso pode acontecer, por exemplo, quando um programa recebe conteúdo comprimido de uma fonte não confiável e tenta descompactá-lo;
- Apesar do nome HTTP2Shell, a falha não está restrita ao protocolo HTTP/2. O risco está no decodificador vulnerável e pode atingir diferentes aplicações que utilizam esse componente.
Microsoft e outras empresas liberam correções
O problema levou diferentes projetos a disponibilizar atualizações de segurança. O Google corrigiu a biblioteca Brotli em 21 de outubro, com as versões 1.0.10, 1.1.1 e 1.2.1.
O Node.js também lançou correções na mesma data. A falha afeta as linhas 22.x, 24.x e 26.x do ambiente de execução, utilizado para executar código JavaScript fora dos navegadores.
No fim de semana, a Microsoft publicou uma atualização emergencial para o .NET. A empresa alertou que a exploração bem-sucedida poderia permitir a elevação de privilégios em sistemas vulneráveis.
Pacotes de Python que utilizam o decodificador também receberam correções em 23 de outubro.
Entre as versões corrigidas listadas pela TechRadar estão:
- Brotli: versões 1.0.10, 1.1.1 e 1.2.1;
- Node.js: versões 22.23.4, 24.22.1 e 26.12.1;
- Python Brotli: versão 1.2.1;
- Python brotlicffi: versão 1.2.1.0.
A lista não significa que todos os sistemas que utilizam essas tecnologias estejam necessariamente vulneráveis. O risco depende das versões instaladas, das bibliotecas utilizadas e de como cada aplicação processa os dados.
Também não basta atualizar a biblioteca principal em todos os casos: alguns programas incluem sua própria cópia do decodificador. Por isso, administradores precisam verificar as dependências e atualizar os componentes efetivamente utilizados.
Falhas de segurança expõem problema maior da internet
A corrida para corrigir o HTTP2Shell também chama a atenção para um desafio mais amplo: manter segura uma infraestrutura digital que depende de inúmeros componentes, bibliotecas e servidores, nem sempre atualizados regularmente.
Um alerta recente envolvendo o PHP, outra tecnologia amplamente utilizada na construção de sites, mostrou como esse problema pode se agravar quando os responsáveis pela manutenção não aplicam as correções de segurança. Embora as vulnerabilidades do PHP sejam diferentes do HTTP2Shell, os dois casos ilustram a dificuldade de proteger sistemas que dependem de componentes de software mantidos por diferentes organizações.
Continua após a publicidade
Segundo reportagem da CNET, a própria PHP Foundation, organização sem fins lucrativos que apoia a segurança e o desenvolvimento da linguagem, opera com apenas uma funcionária em tempo integral e cerca de 14 colaboradores em regime parcial, além de integrantes voluntários do conselho.
A diretora-executiva da entidade, Elizabeth Barron, afirmou à Reuters que a demanda por alterações de segurança no código PHP aumentou com a expansão das ameaças identificadas por inteligência artificial (IA), sem crescimento equivalente no número de colaboradores.
A conscientização dos responsáveis pelos sites também é um obstáculo. Uma pesquisa citada pela CNET, realizada com 121 proprietários de pequenos negócios que mantêm sites próprios, constatou que 45% nunca tinham ouvido falar de PHP e 71% não sabiam se seus sites utilizavam a tecnologia.
Continua após a publicidade
A responsabilidade pela aplicação das correções varia conforme a infraestrutura. Alguns serviços de hospedagem administrada fazem as atualizações pelos clientes, enquanto proprietários que mantêm seus próprios servidores podem precisar agir diretamente.
Para quem apenas visita sites, atualizar o navegador ou trocar senhas não resolve uma falha presente no servidor de outra organização. A proteção depende principalmente de os responsáveis pelas aplicações manterem os componentes atualizados e adotarem medidas de segurança adequadas.
Leia mais:
O que empresas e administradores devem fazer?
A principal recomendação é instalar as atualizações disponíveis para os componentes afetados. Depois da correção, também pode ser necessário reiniciar os processos e reconstruir imagens de contêineres para garantir que os serviços deixem de utilizar versões vulneráveis.
Continua após a publicidade
Quando não for possível aplicar a correção imediatamente, algumas medidas podem reduzir a exposição. No caso de aplicações Python, uma alternativa temporária é remover os pacotes Brotli vulneráveis e dependências opcionais que os utilizem.
Administradores também podem configurar proxies, balanceadores de carga ou firewalls de aplicações para bloquear determinadas requisições com corpos comprimidos em Brotli. Essa medida, entretanto, não protege completamente aplicações que recebem respostas maliciosas de outros servidores e tentam descompactá-las.
Para o Node.js, não há solução alternativa completa que substitua a atualização.
O apelido HTTP2Shell faz referência a outra vulnerabilidade recente, conhecida como PHP2Shell, que atingiu o PHP, linguagem amplamente utilizada no desenvolvimento de sites e aplicações web.
Continua após a publicidade
As duas falhas compartilham aspecto preocupante: podem abrir caminho para a execução remota de código em determinadas condições. Isso torna a correção especialmente importante para organizações que mantêm sistemas expostos à internet.
As vulnerabilidades, porém, são distintas e afetam componentes diferentes. Corrigir o PHP2Shell não protege automaticamente um ambiente contra o HTTP2Shell, assim como atualizar o Brotli não resolve as falhas específicas do PHP.
No caso do HTTP2Shell, a reportagem da TechRadar mencionava provas de conceito públicas, mas não apontava exploração maliciosa confirmada no mundo real. Mesmo assim, a disponibilidade de correções e a gravidade potencial do problema tornam prioritária a verificação dos sistemas afetados.
Rodrigo Mozelli
Rodrigo Mozelli é jornalista formado pela Universidade Metodista de São Paulo (UMESP) e, atualmente, é redator do Olhar Digital.
Ver todos os artigos →