Vulnerability Details CVE-2023-40583
libp2p is a networking stack and library modularized out of The IPFS Project, and bundled separately for other tools to use. In go-libp2p, by using signed peer records a malicious actor can store an arbitrary amount of data in a remote node’s memory. This memory does not get garbage collected and so the victim can run out of memory and crash. If users of go-libp2p in production are not monitoring memory consumption over time, it could be a silent attack i.e. the attacker could bring down nodes over a period of time (how long depends on the node resources i.e. a go-libp2p node on a virtual server with 4 gb of memory takes about 90 sec to bring down; on a larger server, it might take a bit longer.) This issue was patched in version 0.27.4.
Exploit prediction scoring system (EPSS) score
EPSS Score 0.002
EPSS Ranking 47.4%
CVSS Severity
CVSS v3 Score 7.5
Products affected by CVE-2023-40583
-
cpe:2.3:a:protocol:libp2p:-
-
cpe:2.3:a:protocol:libp2p:0.0.1
-
cpe:2.3:a:protocol:libp2p:0.0.10
-
cpe:2.3:a:protocol:libp2p:0.0.11
-
cpe:2.3:a:protocol:libp2p:0.0.12
-
cpe:2.3:a:protocol:libp2p:0.0.13
-
cpe:2.3:a:protocol:libp2p:0.0.14
-
cpe:2.3:a:protocol:libp2p:0.0.15
-
cpe:2.3:a:protocol:libp2p:0.0.16
-
cpe:2.3:a:protocol:libp2p:0.0.17
-
cpe:2.3:a:protocol:libp2p:0.0.18
-
cpe:2.3:a:protocol:libp2p:0.0.19
-
cpe:2.3:a:protocol:libp2p:0.0.2
-
cpe:2.3:a:protocol:libp2p:0.0.20
-
cpe:2.3:a:protocol:libp2p:0.0.21
-
cpe:2.3:a:protocol:libp2p:0.0.22
-
cpe:2.3:a:protocol:libp2p:0.0.23
-
cpe:2.3:a:protocol:libp2p:0.0.24
-
cpe:2.3:a:protocol:libp2p:0.0.25
-
cpe:2.3:a:protocol:libp2p:0.0.26
-
cpe:2.3:a:protocol:libp2p:0.0.27
-
cpe:2.3:a:protocol:libp2p:0.0.28
-
cpe:2.3:a:protocol:libp2p:0.0.29
-
cpe:2.3:a:protocol:libp2p:0.0.3
-
cpe:2.3:a:protocol:libp2p:0.0.30
-
cpe:2.3:a:protocol:libp2p:0.0.31
-
cpe:2.3:a:protocol:libp2p:0.0.32
-
cpe:2.3:a:protocol:libp2p:0.0.4
-
cpe:2.3:a:protocol:libp2p:0.0.5
-
cpe:2.3:a:protocol:libp2p:0.0.6
-
cpe:2.3:a:protocol:libp2p:0.0.7
-
cpe:2.3:a:protocol:libp2p:0.0.8
-
cpe:2.3:a:protocol:libp2p:0.0.9
-
cpe:2.3:a:protocol:libp2p:0.1.0
-
cpe:2.3:a:protocol:libp2p:0.1.1
-
cpe:2.3:a:protocol:libp2p:0.1.2
-
cpe:2.3:a:protocol:libp2p:0.10.0
-
cpe:2.3:a:protocol:libp2p:0.10.1
-
cpe:2.3:a:protocol:libp2p:0.10.2
-
cpe:2.3:a:protocol:libp2p:0.10.3
-
cpe:2.3:a:protocol:libp2p:0.11.0
-
cpe:2.3:a:protocol:libp2p:0.12.0
-
cpe:2.3:a:protocol:libp2p:0.13.0
-
cpe:2.3:a:protocol:libp2p:0.14.0
-
cpe:2.3:a:protocol:libp2p:0.14.1
-
cpe:2.3:a:protocol:libp2p:0.14.2
-
cpe:2.3:a:protocol:libp2p:0.14.3
-
cpe:2.3:a:protocol:libp2p:0.14.4
-
cpe:2.3:a:protocol:libp2p:0.15.0
-
cpe:2.3:a:protocol:libp2p:0.15.1
-
cpe:2.3:a:protocol:libp2p:0.16.0
-
cpe:2.3:a:protocol:libp2p:0.17.0
-
cpe:2.3:a:protocol:libp2p:0.18.0
-
cpe:2.3:a:protocol:libp2p:0.18.1
-
cpe:2.3:a:protocol:libp2p:0.19.0
-
cpe:2.3:a:protocol:libp2p:0.19.1
-
cpe:2.3:a:protocol:libp2p:0.19.2
-
cpe:2.3:a:protocol:libp2p:0.19.3
-
cpe:2.3:a:protocol:libp2p:0.19.4
-
cpe:2.3:a:protocol:libp2p:0.2.0
-
cpe:2.3:a:protocol:libp2p:0.2.1
-
cpe:2.3:a:protocol:libp2p:0.20.0
-
cpe:2.3:a:protocol:libp2p:0.20.1
-
cpe:2.3:a:protocol:libp2p:0.20.2
-
cpe:2.3:a:protocol:libp2p:0.20.3
-
cpe:2.3:a:protocol:libp2p:0.21.0
-
cpe:2.3:a:protocol:libp2p:0.22.0
-
cpe:2.3:a:protocol:libp2p:0.23.0
-
cpe:2.3:a:protocol:libp2p:0.23.1
-
cpe:2.3:a:protocol:libp2p:0.23.2
-
cpe:2.3:a:protocol:libp2p:0.23.3
-
cpe:2.3:a:protocol:libp2p:0.23.4
-
cpe:2.3:a:protocol:libp2p:0.24.0
-
cpe:2.3:a:protocol:libp2p:0.24.1
-
cpe:2.3:a:protocol:libp2p:0.24.2
-
cpe:2.3:a:protocol:libp2p:0.25.0
-
cpe:2.3:a:protocol:libp2p:0.25.1
-
cpe:2.3:a:protocol:libp2p:0.26.0
-
cpe:2.3:a:protocol:libp2p:0.26.1
-
cpe:2.3:a:protocol:libp2p:0.26.2
-
cpe:2.3:a:protocol:libp2p:0.26.3
-
cpe:2.3:a:protocol:libp2p:0.26.4
-
cpe:2.3:a:protocol:libp2p:0.27.0
-
cpe:2.3:a:protocol:libp2p:0.27.1
-
cpe:2.3:a:protocol:libp2p:0.27.2
-
cpe:2.3:a:protocol:libp2p:0.27.3
-
cpe:2.3:a:protocol:libp2p:0.3.0
-
cpe:2.3:a:protocol:libp2p:0.3.1
-
cpe:2.3:a:protocol:libp2p:0.4.0
-
cpe:2.3:a:protocol:libp2p:0.4.1
-
cpe:2.3:a:protocol:libp2p:0.4.2
-
cpe:2.3:a:protocol:libp2p:0.5.0
-
cpe:2.3:a:protocol:libp2p:0.5.1
-
cpe:2.3:a:protocol:libp2p:0.5.2
-
cpe:2.3:a:protocol:libp2p:0.6.0
-
cpe:2.3:a:protocol:libp2p:0.6.1
-
cpe:2.3:a:protocol:libp2p:0.7.0
-
cpe:2.3:a:protocol:libp2p:0.7.1
-
cpe:2.3:a:protocol:libp2p:0.7.2
-
cpe:2.3:a:protocol:libp2p:0.7.3
-
cpe:2.3:a:protocol:libp2p:0.7.4
-
cpe:2.3:a:protocol:libp2p:0.8.0
-
cpe:2.3:a:protocol:libp2p:0.8.1
-
cpe:2.3:a:protocol:libp2p:0.8.2
-
cpe:2.3:a:protocol:libp2p:0.8.3
-
cpe:2.3:a:protocol:libp2p:0.9.0
-
cpe:2.3:a:protocol:libp2p:0.9.1
-
cpe:2.3:a:protocol:libp2p:0.9.2
-
cpe:2.3:a:protocol:libp2p:0.9.3
-
cpe:2.3:a:protocol:libp2p:0.9.4
-
cpe:2.3:a:protocol:libp2p:0.9.5
-
cpe:2.3:a:protocol:libp2p:0.9.6