nimiq/core-rs-albatross: Discovery handshake limit could underflow and later provoke a deterministic overflow panic
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- Denial of service
- Confidentiality · integrity · availability
- None · None · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-191 and the CVSS impact.
Summary
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- Yes
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
Remediation
- Fix · CNA core-rs-albatross (nimiq) Fixed in 1.3.0
Timeline
- 2026-10-02 Threatist record created from CVE-2026-33184
- 2026-10-25 Priority changed: MEDIUM → LOW
References
Patch 2
More Nimiq Proof-of-stake vulnerabilities
- TI-2026-26389 nimiq-account: Vesting insufficient funds error can panic CVSS 3.1HIGH 8.2
- TI-2026-25867 nimiq-block has skip block quorum bypass via out-of-range BitSet indices & u16 truncation CVSS 3.1CRITICAL 9.6
- TI-2026-27598 nimiq/core-rs-albatross: Panic in history index request handlers when a full node runs without the history index CVSS 3.1HIGH 7.5
- TI-2026-26390 nimiq-primitives: Node crash due to missing interlink validation in election macro block proposals CVSS 3.1HIGH 7.5
- TI-2026-26388 network-libp2p: Peer can crash the node by opening discovery protocol substream twice CVSS 3.1HIGH 7.5
- TI-2026-25114 Nimiq: Remote crash via off-by-one signer bounds check in proposal buffer CVSS 3.1HIGH 7.5
Sources
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences