Description
libp2p is a JavaScript implementation of the libp2p networking stack. Prior to version 4.2.9, the reservation refresh path in reservation-store.ts reuses the same retimeableSignal but unconditionally registers another abort listener on every refresh. As a result, a remote peer can repeatedly send valid RESERVE requests for the same reservation, causing unbounded listener and closure growth in @libp2p/circuit-relay-v2 relay servers and leading to denial of service. This issue is fixed in version 4.2.9.
Published: 2026-08-24
Score: 7.5 High
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service via resource exhaustion
Action: Immediate Patch
AI Analysis

Impact

A flaw in the reservation refresh routine of libp2p’s Circuit relay v2 server causes each refresh to add another abort listener to a shared signal. A remote peer can repeatedly send valid RESERVE requests for the same reservation, resulting in unbounded growth of listener objects and eventual exhaustion of server resources. The vulnerability manifests as a classic uncontrolled resource consumption weakness (CWE-400) and an unreleased resource condition (CWE-772). Once triggered, the relay server can become unable to accept new connections or process legitimate traffic, effectively denying service to all relying clients.

Affected Systems

Any deployment of the libp2p JavaScript stack that includes the circuit‑relay‑v2 component and was running a version earlier than 4.2.9. The issue is specific to the js‑libp2p library, particularly the reservation‑store module in reservation‑store.ts.

Risk and Exploitability

The CVSS score for this weakness is 7.5, indicating a high severity rating. The EPSS value is unavailable, and the vulnerability is not listed in CISA’s KEV catalog, so there is no current evidence of widespread exploitation. However, because the flaw can be triggered remotely by any peer that can send RESERVE traffic, it constitutes a plausible attack vector that can lead to cascading denial of service for the entire relay network.

Generated by OpenCVE AI on August 24, 2026 at 22:48 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade libp2p to version 4.2.9 or later to apply the upstream fix
  • Restrict incoming RESERVE requests by filtering or rate‑limiting untrusted peers to reduce the potential for rapid listener buildup
  • Monitor the relay server for abnormal memory usage or increased abort listener counts and configure automatic restarts or scaling as a contingency for accidental oversubscription

Generated by OpenCVE AI on August 24, 2026 at 22:48 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Tue, 25 Aug 2026 19:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'poc', 'Technical Impact': 'partial'}, 'version': '2.0.3'}


Mon, 24 Aug 2026 21:30:00 +0000

Type Values Removed Values Added
Description libp2p is a JavaScript implementation of the libp2p networking stack. Prior to version 4.2.9, the reservation refresh path in reservation-store.ts reuses the same retimeableSignal but unconditionally registers another abort listener on every refresh. As a result, a remote peer can repeatedly send valid RESERVE requests for the same reservation, causing unbounded listener and closure growth in @libp2p/circuit-relay-v2 relay servers and leading to denial of service. This issue is fixed in version 4.2.9.
Title libp2p: Circuit relay v2 server reservation refresh leaks abort listeners and allows remote resource exhaustion
Weaknesses CWE-400
CWE-772
References
Metrics cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'}


Subscriptions

No data.

cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-25T19:04:25.322Z

Reserved: 2026-08-20T19:36:13.806Z

Link: CVE-2026-77384

cve-icon Vulnrichment

Updated: 2026-08-25T19:04:20.929Z

cve-icon NVD

Status : Deferred

Published: 2026-08-24T22:17:19.650

Modified: 2026-09-09T21:07:31.353

Link: CVE-2026-77384

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-08-24T23:00:06Z

Weaknesses
  • CWE-400

    Uncontrolled Resource Consumption

  • CWE-772

    Missing Release of Resource after Effective Lifetime