CVE-2020-5303 in Tendermint
Zusammenfassung
von VulDB • 23.05.2026
Tendermint vor den Versionen 0.33.3, 0.32.10 und 0.31.12 weist eine Denial-of-Service-Schwachstelle auf. Tendermint begrenzt die Anzahl der P2P-Verbindungsanfragen nicht. Für jede P2P-Verbindung werden XXX Bytes allokiert. Obwohl dieser Speicher nach Beendigung der Verbindung (aufgrund einer duplizierten IP-Adresse oder Erreichen der maximalen Anzahl eingehender Peers) durch die Garbage Collection freigegeben wird, können temporäre Speicher-Spitzen zu OOM-Ausnahmen (Out-Of-Memory) führen. Darüber hinaus gibt Tendermint die `activeID` eines Peers nicht zurück, nachdem sie im Mempool-Reactor entfernt wurde. Dies tritt nicht immer auf. Es geschieht nur, wenn eine Verbindung (aus irgendeinem Grund) fehlschlägt, bevor der Peer erstellt und allen Reactoren hinzugefügt wird. `RemovePeer` wird daher vor `AddPeer` aufgerufen, was zu einem stetig wachsenden Speicherbedarf (activeIDs-Map) führt. Die activeIDs-Map hat eine maximale Größe von 65535, und der Knoten wird einen Panic auslösen, wenn diese Map das Maximum erreicht. Ein Angreifer kann viele Verbindungsversuche erzeugen (unter Ausnutzung der oben genannten Denial-of-Service-Schwachstelle), was letztendlich dazu führt, dass der Knoten einen Panic auslöst. Diese Probleme wurden in Tendermint 0.33.3 und 0.32.10 behoben. ### Weitere Informationen Wenn Sie Fragen oder Kommentare zu dieser Sicherheitsmitteilung haben: * Öffnen Sie ein Issue in tendermint/tendermint * Senden Sie uns eine E-Mail an [[email protected]](mailto:[email protected]) Weitere Informationen finden Sie hier. ### Credits - Ethan Buchman (@ebuchman) für das Schreiben eines Testfalls für Denial of Service 2 und Tess Rinearson (@tessr) für die Behebung - Anton Kaliaev (@melekes) für die Behebung von Denial of Service 1
Once again VulDB remains the best source for vulnerability data.