Description
nimiq/core-rs-albatross is a Rust implementation of the Nimiq Proof-of-Stake protocol based on the Albatross consensus algorithm. Prior to version 1.3.0, the discovery handler accepts a peer-controlled limit during handshake and stores it unchanged. The immediate HandshakeAck path then honors limit = 0 and returns zero contacts, which makes the session look benign. Later, after the same session reaches Established, the periodic update path computes self.peer_list_limit.unwrap() as usize - 1. With limit = 0, that wraps to usize::MAX and then in rand 0.9.2, choose_multiple() immediately attempts Vec::with_capacity(amount), which deterministically panics with capacity overflow. This issue has been patched in version 1.3.0.
Published: 2026-04-03
Score: 7.5 High
EPSS: < 1% Very Low
KEV: No
Impact: Denial of Service
Action: Immediate Patch
AI Analysis

Impact

A flaw in the Nimiq core-rs-albatross peer discovery process allows an attacker to set a peer‐controlled limit to zero during the handshake phase. The value is stored unchanged and later used in a path that calculates a list size as the limit minus one. With a zero limit, this subtraction wraps to the maximum usize value, producing a very large number that causes the random selection routine to request a vector capacity that overflows, leading to a deterministic panic. The panic aborts the node, effectively denying service to all participants in the network. The weakness is reflected in CWE-191, an integer underflow leading to a subsequent overflow.

Affected Systems

Vendors affected are Nimiq, product core-rs-albatross. All releases prior to version 1.3.0 are vulnerable. Version 1.3.0 and later contain the patch that validates the handshake limit and prevents the underflow. Users running the unpatched library should upgrade to 1.3.0 or later to avoid the issue.

Risk and Exploitability

The CVSS score of 7.5 indicates a high severity with potential for widespread denial of service. EPSS shows a probability of exploitation lower than 1%, suggesting limited active attacks reported at this time. The vulnerability is not listed in the CISA KEV catalog, so no known widespread exploitation is documented. The attack vector is remote, wherein a malicious peer can supply the offending limit during handshake. Attackers only need to establish a network connection to a running node and send a specially crafted handshake. The determinism of the panic means once the sequence is triggered the node will crash without further input, making mitigation simple if the software is patched.

Generated by OpenCVE AI on April 13, 2026 at 19:40 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply the Nimiq core-rs-albatross update to version 1.3.0 or newer.
  • Verify that your deployment is running the patched version by checking the library version in use.
  • If upgrading is not immediately possible, monitor incoming peer connections and consider enforcing a minimum handshake limit on new peers to prevent zero or suspicious values.

Generated by OpenCVE AI on April 13, 2026 at 19:40 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 13 Apr 2026 18:00:00 +0000

Type Values Removed Values Added
CPEs cpe:2.3:a:nimiq:core-rs-albatross:*:*:*:*:*:rust:*:*

Tue, 07 Apr 2026 00:00:00 +0000

Type Values Removed Values Added
First Time appeared Nimiq
Nimiq core-rs-albatross
Vendors & Products Nimiq
Nimiq core-rs-albatross

Mon, 06 Apr 2026 14:15:00 +0000

Type Values Removed Values Added
Metrics ssvc

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


Fri, 03 Apr 2026 22:45:00 +0000

Type Values Removed Values Added
Description nimiq/core-rs-albatross is a Rust implementation of the Nimiq Proof-of-Stake protocol based on the Albatross consensus algorithm. Prior to version 1.3.0, the discovery handler accepts a peer-controlled limit during handshake and stores it unchanged. The immediate HandshakeAck path then honors limit = 0 and returns zero contacts, which makes the session look benign. Later, after the same session reaches Established, the periodic update path computes self.peer_list_limit.unwrap() as usize - 1. With limit = 0, that wraps to usize::MAX and then in rand 0.9.2, choose_multiple() immediately attempts Vec::with_capacity(amount), which deterministically panics with capacity overflow. This issue has been patched in version 1.3.0.
Title nimiq/core-rs-albatross: Discovery handshake limit could underflow and later provoke a deterministic overflow panic
Weaknesses CWE-191
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

Nimiq Core-rs-albatross
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-04-06T13:19:33.717Z

Reserved: 2026-03-17T22:16:36.720Z

Link: CVE-2026-33184

cve-icon Vulnrichment

Updated: 2026-04-06T13:19:29.216Z

cve-icon NVD

Status : Analyzed

Published: 2026-04-03T23:17:03.600

Modified: 2026-04-13T17:47:29.367

Link: CVE-2026-33184

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-04-14T16:41:39Z

Weaknesses