Vulnerabilidade no módulo http2 do Node.js

Os desenvolvedores da plataforma JavaScript do lado do servidor Node.js publicaram as versões corretivas 12.22.4, 14.17.4 e 16.6.0, que corrigem parcialmente uma vulnerabilidade (CVE-2021-22930) no módulo http2 (cliente HTTP/2.0) , que permite iniciar uma falha no processo ou potencialmente organizar a execução do seu código no sistema ao acessar um host controlado pelo invasor.

O problema é causado pelo acesso à memória já liberada ao fechar uma conexão após receber quadros RST_STREAM (redefinição de thread) para threads que estão executando operações de leitura intensivas que bloqueiam gravações. Se um quadro RST_STREAM for recebido sem especificar um código de erro, o módulo http2 chama adicionalmente um procedimento de limpeza para os dados já recebidos, a partir do qual o manipulador de fechamento é chamado novamente para o fluxo já fechado, o que leva à dupla liberação das estruturas de dados.

A discussão do patch observa que o problema não foi completamente resolvido e, sob condições ligeiramente modificadas, continua a aparecer nas atualizações publicadas. A análise mostrou que a correção cobre apenas um dos casos especiais - quando o thread está em modo de leitura, mas não leva em consideração outros estados do thread (leitura e pausa, pausa e alguns tipos de escrita).

Fonte: opennet.ru

Adicionar um comentário