Casa > cibernético Notícias > HTTP/2 Flaw Puts Web Servers at Risk of DoS Attacks [CVE-2024-27983]
CYBER NEWS

Falha HTTP/2 coloca servidores Web em risco de ataques DoS [CVE-2024-27983]

Uma nova pesquisa conduzida pelo especialista em segurança Bartek Nowotarski descobriu uma vulnerabilidade potencial no protocolo HTTP/2. Conhecida como Inundação de CONTINUAÇÃO, esta exploração permite que os invasores conduzam negação de serviço (DoS) ataques inundando um servidor com quadros CONTINUATION.

Falha HTTP2 coloca servidores Web em risco de ataques DoS [CVE-2024-27983]

A Vulnerabilidade de Inundação CONTINUAÇÃO Explicada

O problema está em como as implementações HTTP/2 lidam com quadros CONTINUATION em um único fluxo. Muitas implementações não conseguem limitar ou higienizar adequadamente o número de quadros CONTINUATION enviados, permitindo que invasores sobrecarreguem um servidor com um fluxo de quadros que pode causar esgotamento de memória ou travamentos.

HTTP/2, como seu antecessor HTTP/1, usa campos de cabeçalho em solicitações e respostas. Esses cabeçalhos são serializados em blocos de cabeçalho, que são então transmitidos como fragmentos de bloco dentro de quadros de CONTINUAÇÃO.

Como a vulnerabilidade pode ser explorada

Os invasores podem explorar esta vulnerabilidade enviando um fluxo contínuo de quadros CONTINUATION sem o sinalizador END_HEADERS definido, fazendo com que o servidor analise e armazene uma quantidade excessiva de dados de cabeçalho na memória.

Esta vulnerabilidade representa uma ameaça grave, como uma única máquina ou conexão TCP pode interromper a disponibilidade do servidor, levando a falhas ou degradação do desempenho. O ataque pode não estar visível nos logs de acesso HTTP, tornando a detecção um desafio.

Implementações afetadas

Várias implementações HTTP/2 são afetadas, incluindo projetos como Apache HTTP Server, Node.js, e Golang. Os usuários são aconselhados a atualizar o software afetado para mitigar os riscos. Se uma correção não estiver disponível, desabilitar temporariamente o HTTP/2 pode fornecer proteção contra esta exploração.

Aqui estão várias listagens de CVE destacando a vulnerabilidade em várias implementações, de acordo com o Centro de Coordenação CERT consultivo.

CVE-2024-27983

Um invasor pode tornar o servidor Node.js HTTP/2 indisponível enviando uma quantidade limitada de pacotes de quadros HTTP/2 contendo alguns quadros HTTP/2. A falha pode deixar dados em nghttp2 memória após um reset. Isso pode acontecer quando cabeçalhos com quadros HTTP/2 CONTINUATION são enviados ao servidor e a conexão TCP é fechada abruptamente pelo cliente, acionando o destruidor Http2Session enquanto os quadros de cabeçalho ainda estão sendo processados, causando uma condição de corrida.

CVE-2024-27919

Enviado oghttp codec não consegue redefinir uma solicitação quando os limites do mapa de cabeçalho são excedidos. Isso permite que um invasor envie uma sequência de quadros CONTINUATION sem o bit END_HEADERS definido, levando ao consumo ilimitado de memória.

CVE-2024-2758

Os limites de taxa Tempesta FW não estão habilitados por padrão. Eles são definidos muito grandes para capturar ataques de quadros CONTINUATION vazios ou muito pequenos para lidar adequadamente com solicitações HTTP normais..

CVE-2024-2653

amphp/http coleta quadros HTTP/2 CONTINUATION em um buffer ilimitado e não verifica o limite de tamanho do cabeçalho até receber o sinalizador END_HEADERS, resultando em falta de memória (OOM) batida. amphp/http-cliente e amphp/http-servidor são indiretamente afetados se usados com uma versão sem patch de amphp/http. Versões anteriores de amphp/http-client com suporte HTTP/2 (v4.0.0-rc10 para 4.0.0) também são diretamente afetados.




CVE-2023-45288

Os pacotes Go rede/http e rede/http2 não limite o número de quadros CONTINUATION lidos para uma solicitação HTTP/2, permitindo que um invasor forneça um conjunto excessivamente grande de cabeçalhos para uma única solicitação, levando ao consumo excessivo de CPU.

CVE-2024-28182

Uma implementação usando o nghttp2 a biblioteca continuará recebendo quadros CONTINUATION e não retornará a chamada para o aplicativo para permitir a visibilidade dessas informações antes de redefinir o fluxo, resultando em um Negação de serviço (DoS) vulnerabilidade.

CVE-2024-27316

Quadros HTTP/2 CONTINUATION sem o sinalizador END_HEADERS definido podem ser enviados continuamente por um invasor para uma implementação Apache Httpd, que não consegue encerrar a solicitação antecipadamente.

CVE-2024-31309

Um ataque DoS de CONTINUAÇÃO HTTP/2 pode fazer com que o Apache Traffic Server consuma mais recursos no servidor. Versões de 8.0.0 através 8.1.9 e de 9.0.0 através 9.2.3 são afetados.

CVE-2024-30255

A pilha de protocolos HTTP/2 nas versões do Envoy 1.29.2 ou anterior é vulnerável ao esgotamento da CPU devido a uma inundação de quadros CONTINUATION. O codec HTTP/2 do Envoy permite que o cliente envie um número ilimitado de quadros CONTINUATION, mesmo depois de exceder os limites do mapa de cabeçalho do Envoy. Isso permite que um invasor envie uma sequência de quadros CONTINUATION sem o bit END_HEADERS definido, fazendo com que a utilização da CPU consuma aproximadamente 1 núcleo por 300 Mbit/s de tráfego.

Milena Dimitrova

Um escritor inspirado e gerente de conteúdo que está com SensorsTechForum desde o início do projeto. Um profissional com 10+ anos de experiência na criação de conteúdo envolvente. Focada na privacidade do usuário e desenvolvimento de malware, ela acredita fortemente em um mundo onde a segurança cibernética desempenha um papel central. Se o senso comum não faz sentido, ela vai estar lá para tomar notas. Essas notas podem mais tarde se transformar em artigos! Siga Milena @Milenyim

mais Posts

Me siga:
Twitter

Deixe um comentário

seu endereço de e-mail não será publicado. Campos obrigatórios são marcados *

Este site utiliza cookies para melhorar a experiência do usuário. Ao utilizar o nosso site você concorda com todos os cookies de acordo com o nosso Política de Privacidade.
Concordo