Novo ataque HTTP/2 DoS pode travar servidores web com uma única conexão.

  • Quinta, 4th Abril, 2024
  • 13:02pm

Vulnerabilidades recém-descobertas do protocolo HTTP/2 chamadas “CONTINUATION Flood” podem levar a ataques de negação de serviço (DoS), travando servidores web com uma única conexão TCP em algumas implementações.

HTTP/2 é uma atualização do protocolo HTTP padronizado em 2015, projetado para melhorar o desempenho da web, introduzindo enquadramento binário para transmissão de dados eficiente, multiplexação para permitir múltiplas solicitações e respostas em uma única conexão e compactação de cabeçalho para reduzir sobrecarga.

As novas vulnerabilidades do CONTINUATION Flood foram  descobertas pelo pesquisador Barket Nowotarski , que afirma que se trata do uso de frames HTTP/2 CONTINUATION, que não são devidamente limitados ou verificados em muitas implementações do protocolo.

As mensagens HTTP/2 incluem seções de cabeçalho e trailer serializadas em blocos. Esses blocos podem ser fragmentados em vários quadros para transmissão, e os quadros CONTINUATION são usados ​​para unir o fluxo.

A omissão de verificações de quadros adequadas em muitas implementações permite que os agentes de ameaças enviem potencialmente uma sequência extremamente longa de quadros simplesmente não configurando o sinalizador 'END_HEADERS', levando a interrupções do servidor devido a falhas de falta de memória ou esgotamento de recursos da CPU, pois esses quadros são processados.

O pesquisador alertou que condições de falta de memória podem levar a falhas no servidor usando uma única conexão HTTP/2 TCP em algumas implementações.

“Out of Memory são provavelmente os casos mais enfadonhos, porém graves. Não há nada de especial nisso: nenhuma lógica estranha, nenhuma condição de corrida interessante e assim por diante”, explica Nowotarski.

“As implementações que permitem OOM simplesmente não limitam o tamanho da lista de cabeçalhos construída com  CONTINUATION frames.”

"Implementações sem tempo limite de cabeçalho exigiam apenas uma única conexão HTTP/2 para travar o servidor."

Um  alerta do Centro de Coordenação CERT  (CERT-CC) publicado hoje lista vários IDs CVE correspondentes a diferentes implementações HTTP/2 vulneráveis ​​a esses ataques.

Essas implementações permitem vários níveis de ataques de negação de serviço, incluindo vazamentos de memória, consumo de memória e esgotamento da CPU, conforme descrito abaixo:

CVE-2024-27983: Afeta o servidor Node.js HTTP/2. O envio de alguns quadros HTTP/2 pode causar vazamento de memória devido a uma condição de corrida, levando a um potencial DoS.

CVE-2024-27919: Afeta o codec oghttp do Envoy. Consumo ilimitado de memória devido à não redefinição de uma solicitação quando os limites do mapa de cabeçalho são excedidos.

CVE-2024-2758: Relacionado ao Tempesta FW. Seus limites de taxa não impedem efetivamente ataques de quadros CONTINUATION vazios, potencialmente permitindo DoS.

CVE-2024-2653: Afeta amphp/http. Ele coleta quadros CONTINUATION em um buffer ilimitado, arriscando uma falha de OOM se o limite de tamanho do cabeçalho for excedido.

CVE-2023-45288: Afeta os pacotes net/http e net/http2 do Go. Permite que um invasor envie um conjunto arbitrariamente grande de cabeçalhos, causando consumo excessivo de CPU.

CVE-2024-28182: Envolve uma implementação usando a biblioteca nghttp2, que continua a receber quadros CONTINUATION, levando a um DoS sem retorno de chamada de redefinição de fluxo adequado.

CVE-2024-27316: Afeta o Apache Httpd. O fluxo contínuo de quadros CONTINUATION sem o sinalizador END_HEADERS definido pode ser enviado, encerrando solicitações incorretamente.

CVE-2024-31309: Afeta o servidor de tráfego Apache. CONTINUAÇÃO HTTP/2 O ataque DoS pode causar consumo excessivo de recursos no servidor.

CVE-2024-30255: Afeta as versões 1.29.2 ou anteriores do Envoy. Vulnerável ao esgotamento da CPU devido a uma inundação de quadros CONTINUATION, consumindo recursos significativos do servidor.

Impacto severo

Até agora, de acordo com o CERT-CC, os fornecedores e bibliotecas HTTP/2 que confirmaram que foram impactados por pelo menos um dos CVEs acima são Red Hat, SUSE Linux, Arista Networks, Apache HTTP Server Project, nghttp2, Node.js. , AMPHP e a linguagem de programação Go.

Nowotarski diz que o problema é mais grave do que o ataque ‘HTTP/2 Rapid Reset’ revelado em outubro passado pelos principais provedores de serviços em nuvem, que está sob exploração ativa desde agosto de 2023.

"Dado que o Cloudflare Radar estima dados de tráfego HTTP acima de 70% de todas as transferências da Internet e a importância dos projetos afetados, acredito que podemos assumir que grande parte da Internet foi afetada por uma vulnerabilidade fácil de explorar: em muitos casos, apenas um único TCP A conexão foi suficiente para travar o servidor", alertou Nowotarski.

Além disso, o pesquisador alerta que o problema seria complexo para os administradores de servidores depurarem e mitigarem sem o conhecimento adequado de HTTP/2.

Isso ocorre porque as solicitações maliciosas não seriam visíveis nos logs de acesso se a análise avançada de frames não estivesse habilitada no servidor, o que na maioria dos casos não está.

Como os agentes de ameaças geralmente monitoram técnicas DDoS recém-descobertas para usar em seus serviços e ataques estressantes, é fundamental atualizar os servidores e bibliotecas afetados antes que as vulnerabilidades sejam ativamente exploradas.

Fonte: bleepingcomputer.com

« Retornar

ico-whatsapp
Dúvidas por WhatsApp
ico-chat
Dúvidas por Web Chat
ico-ticket.png
Abrir ticket Suporte