Missing Release of Resource after Effective Lifetime Affecting @libp2p/circuit-relay-v2 package, versions >=2.1.5 <4.2.9


Severity

Recommended
0.0
high
0
10

CVSS assessment by Snyk's Security Team. Learn more

Threat Intelligence

EPSS
0.34% (27th percentile)

Do your applications use this vulnerable package?

In a few clicks we can analyze your entire application and see what components are vulnerable in your application, and suggest you quick fixes.

Test your applications
  • Snyk IDSNYK-JS-LIBP2PCIRCUITRELAYV2-19256805
  • published25 Aug 2026
  • disclosed24 Aug 2026
  • creditAlleysira

Introduced: 24 Aug 2026

NewCVE-2026-77384  (opens in a new tab)
CWE-772  (opens in a new tab)

How to fix?

Upgrade @libp2p/circuit-relay-v2 to version 4.2.9 or higher.

Overview

@libp2p/circuit-relay-v2 is an Implementation of Circuit Relay v2

Affected versions of this package are vulnerable to Missing Release of Resource after Effective Lifetime through the reserve() path in packages/transport-circuit-relay-v2/src/server/reservation-store.ts. An attacker can grow memory usage and eventually trigger an out-of-memory failure by repeatedly sending valid RESERVE refresh requests for the same relay reservation. The reservation store reuses the same abort signal when a reservation is refreshed, but it still registers a new abort listener on each successful refresh. A peer that can reserve on a public relay can keep one reservation entry alive while accumulating unbounded listeners and closure state, causing sustained heap growth and service degradation.

CVSS Base Scores

version 4.0
version 3.1