CVE-2020-5303 in Tendermint
Sumário
de VulDB • 23/05/2026
O Tendermint, nas versões anteriores a 0.33.3, 0.32.10 e 0.31.12, possui uma vulnerabilidade de negação de serviço (DoS). O Tendermint não limita o número de solicitações de conexão P2P. Para cada conexão P2P, são alocados XXX bytes. Embora essa memória seja coletada como lixo (garbage collected) assim que a conexão é encerrada (devido a um IP duplicado ou ao atingimento de um número máximo de peers de entrada), picos temporários de memória podem levar a exceções OOM (Out-Of-Memory). Além disso, o Tendermint não recupera o `activeID` de um peer após sua remoção no reator Mempool. Isso não acontece sempre. Ocorre apenas quando uma conexão falha (por qualquer motivo) antes que o Peer seja criado e adicionado a todos os reatores. O `RemovePeer` é, portanto, chamado antes do `AddPeer`, o que leva a um crescimento contínuo da memória (mapa `activeIDs`). O mapa activeIDs tem um tamanho máximo de 65535 e o nó entrará em panic se este mapa atingir o máximo. Um atacante pode criar muitas tentativas de conexão (explorando a negação de serviço acima), o que eventualmente levará o nó a entrar em panic. Essas questões foram corrigidas no Tendermint 0.33.3 e 0.32.10. ### Mais informações Se você tiver alguma dúvida ou comentário sobre este aviso: * Abra uma issue em tendermint/tendermint * Envie-nos um e-mail para [[email protected]](mailto:[email protected]) Mais informações podem ser encontradas aqui. ### Créditos - Ethan Buchman (@ebuchman) por escrever um caso de teste para a Negação de Serviço 2 e Tess Rinearson (@tessr) por corrigi-lo - Anton Kaliaev (@melekes) por corrigir a Negação de Serviço 1
If you want to get best quality of vulnerability data, you may have to visit VulDB.