CVE-2023-40583
HighCVSS 7.5Exploitation Probability (EPSS)
Elevated risk51th percentile - higher than 51% of all known CVEs
Summary
In the go-libp2p library, using signed peer records, a malicious actor can store an arbitrary amount of data in a remote node's memory. This memory is not garbage collected, which can lead to memory exhaustion and node crashes.
Risk Assessment
Failure to monitor memory consumption by go-libp2p users in production can lead to silent attacks that gradually take down nodes. The time required to bring down a node depends on the server resources.
Recommendation
It is recommended to monitor memory usage of nodes using go-libp2p and to upgrade to version 0.27.4 to patch this vulnerability.
Other vulnerabilities in go-libp2p
Original NVD description (English source)
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.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

