Encontre e corrija a vulnerabilidade zero-day HTTP/2 Rapid Reset CVE-2023-44487
11 de outubro de 2023
0 minutos de leituraPesquisadores e fornecedores investigaram ataques DDoS volumétricos observados entre agosto e outubro de 2023 e descobriram uma nova técnica, chamada “rapid reset”, que explora a multiplexação de streams, um recurso do amplamente adotado protocolo HTTP/2.
Divulgada hoje, a vulnerabilidade HTTP/2 Rapid Reset está sendo rastreada como CVE-2023-44487 e foi classificada como de alta gravidade, com pontuação CVSS de 7,5 (de 10).
Acredita-se que a vulnerabilidade afete todos os servidores web que implementam HTTP/2 e que, se explorada, possa permitir ataques DDoS volumétricos extremamente grandes. Se você for afetado por essa CVE em um pacote de aplicativo ou sistema operacional E esse pacote estiver presente em um aplicativo implantado com acesso à internet, considere:
Consultar seu provedor de infraestrutura e/ou CDN (por exemplo, Cloudflare, Google Cloud, AWS e Akamai) para garantir que a vulnerabilidade esteja mitigada.
Atualizar o pacote se houver uma correção disponível. Algumas versões corrigidas já foram publicadas.
A Snyk não foi afetada por essa vulnerabilidade
Todos os serviços da Snyk acessíveis externamente estão protegidos: eles são hospedados atrás da Akamai ou de balanceadores de carga na nuvem que já foram mitigados.
Mitigação por meio do provedor de infraestrutura
Primeiro, recomendamos que as organizações façam alterações de configuração e apliquem mitigações por meio de provedores de infraestrutura e CDNs, quando necessário, para reduzir a exposição a essa nova técnica de DDoS.
Cloudflare: HTTP/2 Rapid Reset: analisando o ataque recordista
Google: Como funciona: o novo ataque DDoS “Rapid Reset” de HTTP/2
Azure: Resposta da Microsoft a ataques de negação de serviço distribuídos (DDoS) contra HTTP/2
Embora seja possível mitigar a exposição a essa vulnerabilidade por meio de provedores de infraestrutura ou balanceadores de carga na nuvem, é importante ir além e corrigir o problema na origem, atualizando todos os pacotes que podem ser afetados por essa CVE.
Atualização de pacotes para versões corrigidas
Em seguida, as organizações devem verificar se alguma imagem de contêiner ou ecossistema de código aberto foi afetado e aplicar as atualizações disponíveis. Você encontra todos os avisos sobre essa CVE específica na Snyk Vulnerability Database, selecionando o(s) gerenciador(es) de pacotes ou a(s) distribuição(ões) de contêiner.

Como detectar as vulnerabilidades HTTP/2 com a Snyk
Para descobrir se seus projetos ou aplicativos foram afetados, filtre por "CVE-2023-44487" no relatório Detalhes do problema e encontre os projetos que contêm um pacote vulnerável.

Teste seus projetos usando a Snyk CLI
Há várias maneiras de detectar e corrigir a vulnerabilidade HTTP/2 — gratuitamente — com a Snyk. Com a Snyk CLI, você pode testar seus projetos localmente.
Teste projetos que usam gerenciadores de pacotes
Para aplicativos, execute snyk test na Snyk CLI para comparar as dependências do seu repositório e detectar pacotes vulneráveis. Você pode testar todos os projetos com snyk test --all-projects e especificar o gerenciador de pacotes usando a flag --package-manager=. Também é possível especificar um arquivo de requisitos não padrão com a flag --file=.
Atualmente, os argumentos compatíveis com a flag --package-manager= incluem cocoapods, composer, golangdep, maven, npm, pip e outros (consulte a CLI para ver mais opções).
Teste projetos C++ com a CLI
Para aplicativos, execute snyk test --unmanaged na Snyk CLI para comparar as dependências não gerenciadas do seu repositório e detectar pacotes vulneráveis.
Teste imagens de contêiner com a CLI
Para contêineres, execute snyk container test para detectar pacotes do sistema operacional que dependem de versões vulneráveis do HTTP/2. Para obter os melhores resultados, informe o nome da imagem e o caminho para o Dockerfile que a criou. Por exemplo:
Teste seus projetos usando uma integração Git/SCM
Ao importar seu projeto para a Snyk usando nossas integrações de SCM compatíveis (GitHub, Bitbucket, GitLab, Azure Repos), um teste é iniciado automaticamente. Assim, você pode usar a interface da Snyk para identificar, priorizar e corrigir as vulnerabilidades http/2 nos seus projetos quando houver uma correção disponível.
Como corrigir as vulnerabilidades HTTP/2
Depois de identificar pacotes e contêineres vulneráveis no seu ambiente, você pode corrigi-los com a Snyk. Os métodos são semelhantes, mas você tem algumas opções.
Para componentes de código aberto
Correção automática: conecte a Snyk aos seus repositórios Git para que ela possa abrir pull requests e atualizar o grafo de dependências sempre que possível. Depois, recrie seu aplicativo.
Correção manual (opção 1): se você tiver uma dependência direta de um componente afetado pela vulnerabilidade HTTP/2, atualize o arquivo de dependências para especificar a versão corrigida correspondente e, em seguida, recrie seu aplicativo.
Correção manual (opção 2): se seu aplicativo usar um componente afetado pela vulnerabilidade HTTP/2 como dependência indireta ou transitiva, identifique uma versão da dependência direta que inclua uma versão atualizada da dependência afetada e, em seguida, recrie seu aplicativo. Outra opção é tratar a dependência como direta e incluir uma versão corrigida no arquivo de requisitos, caso seu gerenciador de pacotes ofereça suporte a substituições.
Para imagens de contêiner
Correção automática: conecte a Snyk aos seus repositórios Git para que ela possa abrir pull requests e atualizar a imagem base do Docker sempre que possível. Confira se a atualização sugerida da imagem base ainda apresenta a vulnerabilidade em
https://snyk.io/test/docker/<image_name>e, depois de identificar uma opção de atualização adequada, recrie seu contêiner.

Correção manual: se sua imagem incluir versões vulneráveis dos pacotes e não houver uma atualização da imagem base disponível ou desejada, você pode atualizá-los por conta própria seguindo as recomendações de correção do Snyk Container.
Se ainda não houver uma correção disponível
Se não for possível atualizar um pacote ou contêiner específico, é possível mitigar essa vulnerabilidade antes do caminho de chamada, conforme descrito acima. Por exemplo, se um serviço afetado por essa vulnerabilidade estiver exposto à internet por meio de um balanceador de carga na nuvem, ele não será afetado, pois todos os principais provedores de nuvem já mitigaram esse risco em sua infraestrutura.
Como repriorizar essa vulnerabilidade usando políticas personalizadas?
Se você quiser aumentar a prioridade da vulnerabilidade HTTP/2 para dar mais visibilidade ao problema, pode usar as políticas personalizadas da Snyk para repriorizá-la. No momento, a CVE está classificada como de alta gravidade. No entanto, se quiser alterar essa prioridade, você pode criar uma política que afete a CVE-2023-44487 e mude a gravidade para Critical.

Por outro lado, se você tiver mitigado o risco de outras formas, pode alterar a gravidade para baixa para que os relatórios reflitam essa condição com precisão.
Teste novamente após adicionar políticas de gravidade personalizadas
Após adicionar uma política de gravidade personalizada, os projetos precisam ser testados novamente para que as gravidades atualizadas sejam exibidas.
Próximas etapas para responder às vulnerabilidades HTTP/2
Faça alterações de configuração e aplique mitigações por meio de provedores de infraestrutura e CDNs para reduzir a exposição a essa nova técnica de DDoS.
Teste seus projetos com a Snyk usando os métodos descritos neste artigo. Para começar, crie uma conta gratuita na Snyk e importe e analise todos os projetos potencialmente afetados usando o assistente de importação.
Quando houver correções disponíveis, atualize as bibliotecas afetadas para versões corrigidas e crie novas imagens de contêiner com imagens base corrigidas.
Continue acompanhando os desdobramentos, siga-nos no Twitter/X (@snyksec) e acesse o blog da Snyk para conferir as novidades. As equipes de segurança da Snyk atualizarão nossos recursos regularmente com as informações mais recentes.
Comece a resolver desafios de capture the flag
Aprenda a resolver desafios de capture the flag assistindo sob demanda ao nosso workshop virtual introdutório.
