Vulnerabilidad en peticiones de conexión P2P en RemovePeer en Tendermint (CVE-2020-5303)
Gravedad CVSS v3.1:
BAJA
Tipo:
CWE-787
Escritura fuera de límites
Fecha de publicación:
10/04/2020
Última modificación:
30/06/2020
Descripción
Tendermint versiones anteriores a 0.33.3, 0.32.10 y 0.31.12, presenta una vulnerabilidad de denegación de servicio. Tendermint no limita el número de peticiones de conexión P2P. Para cada conexión p2p, asigna XXX bytes. Aun cuando esta memoria es de tipo garbage collected una vez que se termina la conexión (debido a IP duplicada o que alcanza un número máximo de peers entrantes), los picos de memoria temporales pueden conllevar a excepciones OOM (Fuera de la Memoria). Adicionalmente, Tendermint no recupera el "activeID" de un peer después de que es eliminado en el reactor Mempool. Esto no sucede todo el tiempo. Solo se presenta cuando se produce un fallo de conexión (por cualquier motivo) antes de que el Peer sea creado y agregado a todos los reactores. RemovePeer, por lo tanto, es llamado antes "AddPeer", lo que conlleva a una memoria creciente siempre (mapa "activeIDs"). El mapa activeIDs presenta un tamaño máximo de 65535 y el nodo entrará en pánico si este mapa alcanza el máximo. Un atacante puede crear muchos intentos de conexión (explotar por encima de la denegación de servicio), lo que finalmente conllevará al pánico del nodo. Estos problemas están parcheados en Tendermint versiones 0.33.3 y 0.32.10
Impacto
Puntuación base 3.x
3.70
Gravedad 3.x
BAJA
Puntuación base 2.0
4.30
Gravedad 2.0
MEDIA
Productos y versiones vulnerables
CPE | Desde | Hasta |
---|---|---|
cpe:2.3:a:tendermint:tendermint:*:*:*:*:*:*:*:* | 0.31.12 (excluyendo) | |
cpe:2.3:a:tendermint:tendermint:*:*:*:*:*:*:*:* | 0.32.0 (incluyendo) | 0.32.10 (excluyendo) |
cpe:2.3:a:tendermint:tendermint:*:*:*:*:*:*:*:* | 0.33.0 (incluyendo) | 0.33.3 (excluyendo) |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página