# CVE-2026-77384: libp2p circuit-relay-v2 denial of service via listener leak on reservation refresh

Source: https://junglewise.ai/threats/cve-2026-77384-libp2p-circuit-relay-v2-denial-of-service-via-listener-leak-on  
Publisher: Junglewise Threat Intelligence, https://junglewise.ai/threats  
Published: 2026-08-24. Updated: 2026-09-25  
License: CC BY 4.0 with a link back

CVE-2026-77384 · Severity: high · CVSS 7.5 · Published 2026-08-24

libp2p is a networking stack library used to build peer-to-peer applications. In circuit-relay-v2 relay servers, a bug in reservation handling allows a remote attacker to send repeated RESERVE requests that cause unbounded memory growth through leaked event listeners, leading to relay server crashes and network service disruption.

Vendors: [Libp2p](https://junglewise.ai/threats/vendors/libp2p).

## Quick answers

**Is CVE-2026-77384 exploited in the wild?** No. Junglewise Threat Intelligence has no report of CVE-2026-77384 being exploited in the wild.

**How severe is CVE-2026-77384?** High severity, with a CVSS score of 7.5, published 24 August 2026.

**Which products and versions are affected?** Libp2p Circuit-Relay-V2 before 4.2.9.

**Is there a fix for CVE-2026-77384?** A patch was published on 2026-07-19: version 4.2.9 released Junglewise finds every place you run it, drafts the upgrade and applies it once you approve.

**How is CVE-2026-77384 attacked?** It is attacked over the network.

**Am I affected by CVE-2026-77384?** Check whether you run Libp2p Circuit-Relay-V2 at an affected version. Junglewise does that check for you around the clock: connect your code, cloud and domains, and it matches new vulnerabilities like this one against what you actually run and tells you when one reaches you.

## Technical details

The vulnerability is a resource leak in the reservation refresh path within reservation-store.ts. The code reuses the same retimeableSignal object but unconditionally registers an additional abort listener on every refresh request, causing listeners and closures to accumulate without bound. A remote peer can exploit this by repeatedly sending valid RESERVE requests for the same reservation. No authentication or special privileges are required; the attack is network-accessible. The result is memory exhaustion and denial of service on circuit-relay-v2 relay servers. The vulnerability is fixed in version 4.2.9 by attaching the abort listener only once when the signal is created, rather than on every refresh.

## Affected products

- libp2p circuit-relay-v2 before 4.2.9

## Timeline

- 2026-08-24: disclosed
- 2026-07-19: patched: version 4.2.9 released

## References

- [https://github.com/libp2p/js-libp2p/commit/4bb8fbe8d3f3590e4af51a1f5f7de56fffa5804d](https://github.com/libp2p/js-libp2p/commit/4bb8fbe8d3f3590e4af51a1f5f7de56fffa5804d)
- [https://github.com/libp2p/js-libp2p/releases/tag/circuit-relay-v2-v4.2.9](https://github.com/libp2p/js-libp2p/releases/tag/circuit-relay-v2-v4.2.9)
