Pesquisadores em segurança cibernética descobriram uma exploração de negação de serviço remoto que afeta servidores web importantes, incluindo NGINX, Apache HTTPD, Microsoft IIS, Envoy e Cloudflare Pingora.
A vulnerabilidade recebeu o codinome HTTP/2 Bomb pela Calif.
“O comportamento vulnerável existe na configuração padrão do HTTP/2 de cada servidor”, afirmou a empresa, acrescentando que a falha foi descoberta pelo OpenAI Codex ao encadear duas técnicas conhecidas: uma bomba de compressão e uma retenção no estilo Slowloris.
A bomba tem como alvo o HPACK, o esquema de compressão de cabeçalhos do HTTP/2: um byte na rede se torna uma alocação completa de cabeçalho no servidor, repetida milhares de vezes por solicitação”, acrescentou a Calif. “A retenção é uma janela de controle de fluxo de zero bytes que impede que o servidor libere qualquer um deles.”
O HPACK é um algoritmo de compressão de cabeçalhos dedicado para HTTP/2, utilizado para comprimir metadados de solicitações e respostas usando codificação Huffman, resultando em uma redução média de 30% no tamanho dos cabeçalhos. Ele também foi projetado para ser resistente a ataques como CRIME (abreviação de “Compression Ratio Info-leak Made Easy”), que podem vazar cookies de autenticação a partir de cabeçalhos comprimidos.
O Slowloris, por outro lado, é um tipo de ataque de negação de serviço (DoS) que permite a um ator de ameaça sobrecarregar um servidor alvo ao abrir e manter muitas conexões HTTP simultâneas entre o atacante e o alvo. Trata-se de um ataque de camada de aplicação.
A HTTP/2 Bomb é inspirada em várias abordagens conhecidas, como a HPACK Bomb (também conhecida como CVE-2016-6581), que foi divulgada pela primeira vez em 2016, bem como a CVE-2025-53020, uma vulnerabilidade de exaustão de memória na implementação do HTTP/2 do Apache httpd, e duas falhas de DoS no Apache HTTP Server por meio de quadros CONTINUATION manipulados (CVE-2016-8740) e a escassez de threads de trabalho (CVE-2016-1546) em uma conexão HTTP/2.
“O que é novo aqui é de onde vem a amplificação”, disse Calif. “A bomba clássica insere um grande valor na tabela e o referencia repetidamente, então os servidores aprenderam a limitar o tamanho total do cabeçalho decodificado. Nossa variante vai na direção oposta: o cabeçalho está quase vazio, e a amplificação vem da contabilidade por entrada que o servidor aloca ao redor dele. O limite de tamanho decodificado nunca é acionado porque há quase nada para decodificar.”
Em um cenário hipotético de ataque, um computador doméstico em uma conexão de 100 Mbps tem o potencial de tornar um servidor vulnerável inacessível em questão de segundos. Além disso, um único cliente pode consumir e manter 32 GB de memória do servidor contra Apache HTTPD e Envoy em cerca de 20 segundos.
Para combater a vulnerabilidade, é aconselhável aplicar as seguintes mitig ações:
- NGINX - Atualizar para 1.29.8+, que adiciona a diretiva max_headers com um padrão de 1000. Se a atualização não for uma opção, recomenda-se desabilitar o HTTP/2 com http2 off.
- Apache HTTPD - Corrigido na mod_http2 v2.0.41. Se a atualização não for uma opção, recomenda-se definir Protocols http/1.1 para desabilitar o HTTP/2.
- Microsoft IIS, Envoy e Cloudflare Pingora - Nenhum patch disponível até o momento da redação.
“A falha mais profunda é que a especificação enquadra o risco de memória puramente como uma razão de amplificação, e a razão é apenas metade da equação”, disse Calif. “Um amplificador 70:1 é inofensivo se a memória for liberada quando a solicitação é concluída. Ele se torna um ataque porque o HTTP/2 permite que o cliente mantenha a conexão aberta quase sem custo, prendendo cada byte alocado pelo tempo que quiser.”
Nenhum comentário publicado até agora.