Read the docs
TI-2023-20665 Aliases CVE-2023-39533GHSA-876p-8259-xjgg

libp2p nodes vulnerable to attack using large RSA keys

Priority HIGH 72CWE-770Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
Low
Impact type
Denial of service
Confidentiality · integrity · availability
None · None · High
Fix status
Fixed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-770.

Summary

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 RSA keys to <= 8192 bits. To protect one's application, it is necessary to update to these patch releases and to use the updated Go compiler in 1.20.7 or 1.19.12. There are no known workarounds for this issue.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.01513 74th percentileScored 2026-11-07
Public exploit Yes 1 exploit referenceTagged by NVD
Fix Fixed go-libp2p (libp2p): 0.27.8, 0.28.2github.com/libp2p/go-libp2p (Go): 0.27.8, 0.28.2, 0.29.1

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
Yes
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
libp2pgo-libp2pbefore 0.27.8; 0.28.0 to before 0.28.2; = 0.29.00.27.8, 0.28.2Patch availableCNA
—github.com/libp2p/go-libp2p (Go)before 0.27.80.27.8Patch availableGHSA-876p-8259-xjgg
—github.com/libp2p/go-libp2p (Go)0.28.0 to before 0.28.20.28.2Patch availableGHSA-876p-8259-xjgg
—github.com/libp2p/go-libp2p (Go)0.29.0 to before 0.29.10.29.1Patch availableGHSA-876p-8259-xjgg
  • go-libp2p Vendorlibp2p Affected before 0.27.8; 0.28.0 to before 0.28.2; = 0.29.0 Fixed in 0.27.8, 0.28.2 Patch available CNA
  • github.com/libp2p/go-libp2p (Go) Vendor— Affected before 0.27.8 Fixed in 0.27.8 Patch available GHSA-876p-8259-xjgg
  • github.com/libp2p/go-libp2p (Go) Vendor— Affected 0.28.0 to before 0.28.2 Fixed in 0.28.2 Patch available GHSA-876p-8259-xjgg
  • github.com/libp2p/go-libp2p (Go) Vendor— Affected 0.29.0 to before 0.29.1 Fixed in 0.29.1 Patch available GHSA-876p-8259-xjgg

CPE configurations NVD · 2

CPEVersionsRoleVendor
cpe:2.3:a:libp2p:go-libp2p:*:*:*:*:*:go:*:*before 0.27.8; 0.28.0 to before 0.28.2Vulnerablelibp2p
cpe:2.3:a:libp2p:go-libp2p:0.29.0:*:*:*:*:go:*:*0.29.0Vulnerablelibp2p
  • cpe:2.3:a:libp2p:go-libp2p:*:*:*:*:*:go:*:* Versions before 0.27.8; 0.28.0 to before 0.28.2 Vulnerable ·libp2p
  • cpe:2.3:a:libp2p:go-libp2p:0.29.0:*:*:*:*:go:*:* Versions 0.29.0 Vulnerable ·libp2p

Remediation

  • Fix · CNA go-libp2p (libp2p) Fixed in 0.27.8, 0.28.2
  • Fix · GHSA-876p-8259-xjgg github.com/libp2p/go-libp2p (Go) Fixed in 0.27.8 Advisory →
  • Fix · GHSA-876p-8259-xjgg github.com/libp2p/go-libp2p (Go) Fixed in 0.28.2 Advisory →
  • Fix · GHSA-876p-8259-xjgg github.com/libp2p/go-libp2p (Go) Fixed in 0.29.1 Advisory →

Vendor assessments

Red Hat

Red Hat rating: Moderate. Red Hat's page for this CVE →

Not affected: 1 product
  • Red Hat OpenShift Container Platform 4

Timeline

  1. 2026-10-02 Threatist record created from CVE-2023-39533
  2. 2026-10-03 Alias added: GHSA-876p-8259-xjgg

References

Sources