CVE-2023-39533Allocation of Resources Without Limits or Throttling in Libp2p Go-libp2p

Severity
7.5HIGHNVD
EPSS
0.1%
top 71.81%
CISA KEV
Not in KEV
Exploit
No known exploits
Timeline
PublishedAug 8
Latest updateAug 9

Description

go-libp2p is the Go implementation of the libp2p Networking Stack. Prior to versions 0.27.8, 0.28.2, and 0.29.1 malicious peer can use large RSA keys to run a resource exhaustion attack & force a node to spend time doing signature verification of the large key. This vulnerability is present in the core/crypto module of go-libp2p and can occur during the Noise handshake and the libp2p x509 extension verification step. To prevent this attack, go-libp2p versions 0.27.8, 0.28.2, and 0.29.1 restrict

CVSS vector

CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:HExploitability: 3.9 | Impact: 3.6

Affected Packages17 packages

NVDlibp2p/go-libp2p0.28.00.28.2+2
Gogithub.com/libp2p_go-libp2p0.28.00.28.2+2
CVEListV5libp2p/go-libp2p= 0.29.0, >= 0.28.0, < 0.28.2+1

Patches

🔴Vulnerability Details

3
GHSA
libp2p nodes vulnerable to attack using large RSA keys2023-08-09
OSV
libp2p nodes vulnerable to attack using large RSA keys2023-08-09
OSV
Large RSA keys can cause high resource usage in github.com/libp2p/go-libp2p2023-08-08

📋Vendor Advisories

2
Microsoft
libp2p nodes vulnerable to attack using large RSA keys2023-08-08
Red Hat
go-libp2p: libp2p nodes vulnerable to attack using large RSA keys2023-08-08
CVE-2023-39533 — Libp2p Go-libp2p vulnerability | cvebase