Description
nimiq-libp2p is a Nimiq network implementation based on libp2p. Prior to version 1.3.0, `MessageCodec::read_request` and `read_response` call `read_to_end()` on inbound substreams, so a remote peer can send only a partial frame and keep the substream open. because `Behaviour::new` also sets `with_max_concurrent_streams(1000)`, the node exposes a much larger stalled-slot budget than the library default. The patch for this vulnerability is formally released as part of v1.3.0. No known workarounds are available.
Published: 2026-04-22
Score: 5.3 Medium
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service via resource exhaustion
Action: Apply Patch
AI Analysis

Impact

The vulnerability exists in the libp2p networking stack used by Nimiq, specifically in the MessageCodec::read_request and read_response functions. These functions call read_to_end() on inbound substreams, allowing a remote peer to send only part of a frame and then keep the substream open. Because the protocol permits a large number of concurrent streams (with_max_concurrent_streams set to 1000), the node can end up with many stalled substreams that consume memory and other resources. This is a classic allocation of resources without limits or throttling flaw (CWE-770) that can lead to a denial of service if an attacker exhausts the node's capacity.

Affected Systems

Vendors affected are Nimiq’s network-libp2p implementation. The flaw exists in all releases before v1.3.0 of the libp2p package. Any Nimiq node running a pre-1.3.0 version of the network-libp2p crate is potentially vulnerable and can be targeted by an external peer that can establish a libp2p connection to the node.

Risk and Exploitability

The CVSS score of 5.3 indicates a moderate severity, and no EPSS score is currently available. The vulnerability is not listed in CISA’s KEV catalog, suggesting it is not yet actively exploited in the wild. However, exploitation requires only a remote communication channel via the libp2p protocol, which is typically open to public peers. An attacker can create many partially transmitted frames to keep substreams open, thereby exhausting memory and causing the node to become unresponsive or crash. The lack of throttling or resource limits increases the feasibility and potential impact of such an attack.

Generated by OpenCVE AI on April 27, 2026 at 08:30 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade the Nimiq network-libp2p crate to version 1.3.0 or later to apply the fixed resource limits
  • Restart affected nodes to ensure the new version is loaded and blocks any pending stalled substreams
  • Verify or configure stream limits to avoid excessive concurrent connections, ensuring the node does not allow more than a safe threshold of open substreams
  • Monitor memory usage and peer connections for abnormal spikes indicative of stalled substreams

Generated by OpenCVE AI on April 27, 2026 at 08:30 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 27 Apr 2026 20:15:00 +0000

Type Values Removed Values Added
First Time appeared Nimiq network-libp2p
Vendors & Products Nimiq network-libp2p

Fri, 24 Apr 2026 17:15:00 +0000

Type Values Removed Values Added
First Time appeared Nimiq
Nimiq nimiq Proof-of-stake
CPEs cpe:2.3:a:nimiq:nimiq_proof-of-stake:*:*:*:*:*:rust:*:*
Vendors & Products Nimiq
Nimiq nimiq Proof-of-stake

Thu, 23 Apr 2026 13:15:00 +0000

Type Values Removed Values Added
Metrics ssvc

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


Wed, 22 Apr 2026 20:00:00 +0000

Type Values Removed Values Added
Description nimiq-libp2p is a Nimiq network implementation based on libp2p. Prior to version 1.3.0, `MessageCodec::read_request` and `read_response` call `read_to_end()` on inbound substreams, so a remote peer can send only a partial frame and keep the substream open. because `Behaviour::new` also sets `with_max_concurrent_streams(1000)`, the node exposes a much larger stalled-slot budget than the library default. The patch for this vulnerability is formally released as part of v1.3.0. No known workarounds are available.
Title Nimiq has Allocation of Resources Without Limits or Throttling in its libp2p request/response
Weaknesses CWE-770
References
Metrics cvssV3_1

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


Subscriptions

Nimiq Network-libp2p Nimiq Proof-of-stake
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-04-23T12:57:42.075Z

Reserved: 2026-03-25T16:21:40.866Z

Link: CVE-2026-34062

cve-icon Vulnrichment

Updated: 2026-04-23T12:57:36.694Z

cve-icon NVD

Status : Analyzed

Published: 2026-04-22T20:16:40.530

Modified: 2026-04-24T17:11:49.060

Link: CVE-2026-34062

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-04-27T19:53:12Z

Weaknesses