Lucene search

K
cve[email protected]CVE-2020-5303
HistoryApr 10, 2020 - 7:15 p.m.

CVE-2020-5303

2020-04-1019:15:13
CWE-787
CWE-789
web.nvd.nist.gov
112
cve-2020-5303
tendermint
denial-of-service
vulnerability
p2p
connection
memory spike
oom
out-of-memory
activeid
mempool reactor
removepeer
addpeer
memory allocation
patch

4.3 Medium

CVSS2

Attack Vector

NETWORK

Attack Complexity

MEDIUM

Authentication

NONE

Confidentiality Impact

NONE

Integrity Impact

NONE

Availability Impact

PARTIAL

AV:N/AC:M/Au:N/C:N/I:N/A:P

3.7 Low

CVSS3

Attack Vector

NETWORK

Attack Complexity

HIGH

Privileges Required

NONE

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

NONE

Integrity Impact

NONE

Availability Impact

LOW

CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L

4.2 Medium

AI Score

Confidence

High

0.001 Low

EPSS

Percentile

51.1%

Tendermint before versions 0.33.3, 0.32.10, and 0.31.12 has a denial-of-service vulnerability. Tendermint does not limit the number of P2P connection requests. For each p2p connection, it allocates XXX bytes. Even though this memory is garbage collected once the connection is terminated (due to duplicate IP or reaching a maximum number of inbound peers), temporary memory spikes can lead to OOM (Out-Of-Memory) exceptions. Additionally, Tendermint does not reclaim activeID of a peer after it’s removed in Mempool reactor. This does not happen all the time. It only happens when a connection fails (for any reason) before the Peer is created and added to all reactors. RemovePeer is therefore called before AddPeer, which leads to always growing memory (activeIDs map). The activeIDs map has a maximum size of 65535 and the node will panic if this map reaches the maximum. An attacker can create a lot of connection attempts (exploiting above denial of service), which ultimately will lead to the node panicking. These issues are patched in Tendermint 0.33.3 and 0.32.10.

Affected configurations

Vulners
NVD
Node
tenderminttendermintRange0.32.00.32.10
OR
tenderminttendermintRange0.33.00.33.3
OR
tenderminttendermintRange<0.31.12
VendorProductVersionCPE
tenderminttendermint*cpe:2.3:a:tendermint:tendermint:*:*:*:*:*:*:*:*
tenderminttendermint*cpe:2.3:a:tendermint:tendermint:*:*:*:*:*:*:*:*
tenderminttendermint*cpe:2.3:a:tendermint:tendermint:*:*:*:*:*:*:*:*

CNA Affected

[
  {
    "product": "Tendermint",
    "vendor": "Tendermint",
    "versions": [
      {
        "status": "affected",
        "version": ">= 0.32.0, < 0.32.10"
      },
      {
        "status": "affected",
        "version": ">= 0.33.0, < 0.33.3"
      },
      {
        "status": "affected",
        "version": "< 0.31.12"
      }
    ]
  }
]

4.3 Medium

CVSS2

Attack Vector

NETWORK

Attack Complexity

MEDIUM

Authentication

NONE

Confidentiality Impact

NONE

Integrity Impact

NONE

Availability Impact

PARTIAL

AV:N/AC:M/Au:N/C:N/I:N/A:P

3.7 Low

CVSS3

Attack Vector

NETWORK

Attack Complexity

HIGH

Privileges Required

NONE

User Interaction

NONE

Scope

UNCHANGED

Confidentiality Impact

NONE

Integrity Impact

NONE

Availability Impact

LOW

CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L

4.2 Medium

AI Score

Confidence

High

0.001 Low

EPSS

Percentile

51.1%