Home

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 Reserved 2026-03-17 | Published 2026-04-03 | Updated 2026-04-06 | Assigner GitHub_M




HIGH: 7.5CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

Problem types

CWE-191: Integer Underflow (Wrap or Wraparound)

Product status

< 1.3.0
affected

References

github.com/...atross/security/advisories/GHSA-5rm9-893q-vmhm

github.com/nimiq/core-rs-albatross/pull/3664

github.com/...ommit/8f60a2d75b74b55764ecf34bd4435f4961630595

github.com/nimiq/core-rs-albatross/releases/tag/v1.3.0

cve.org (CVE-2026-33184)

nvd.nist.gov (CVE-2026-33184)

Download JSON