Impact
A malicious peer can cause a full node to crash by sending a RequestBatchSet message that references the genesis block’s hash. The node’s handler subsequently calls get_epoch_chunks and iterates through macro blocks in reverse. When it reaches the genesis block, the call to macro_block_before panics with "No macro blocks before genesis block", resulting in a full node failure. This vulnerability is a classic input validation flaw (CWE-617) that leads to a denial of service by exploiting a panic triggered by an unexpected input.
Affected Systems
The issue affects the Rust implementation of the Nimiq Proof‑of‑Stake protocol, specifically the nimiq:core-rs-albatross product. All releases before version 1.5.0 are susceptible; the fix was introduced in the v1.5.0 release.
Risk and Exploitability
The CVSS score of 5.3 reflects a moderate severity. Exploitation requires network connectivity to a full node and the ability to send a crafted RequestBatchSet message; no authentication is needed. Because the vulnerability causes an outright crash rather than leaking information or providing elevated privileges, the overall risk is limited to service disruption. The EPSS score is not available and the vulnerability is not listed in CISA’s KEV catalog, suggesting that widespread exploitation is unlikely but the impact remains significant for any operational node.
OpenCVE Enrichment
Github GHSA