Description
nimiq-primitives contains primitives (e.g., block, account, transaction) to be used in Nimiq's Rust implementation. Prior to version 1.3.0, an untrusted p2p peer can cause a node to panic by announcing an election macro block whose `validators` set contains an invalid compressed BLS voting key. Hashing an election macro header hashes `validators` and reaches `Validators::voting_keys()`, which calls `validator.voting_key.uncompress().unwrap()` and panics on invalid bytes. The patch for this vulnerability is included as part of v1.3.0. No known workarounds are available.
Problem types
CWE-252: Unchecked Return Value
CWE-755: Improper Handling of Exceptional Conditions
Product status
References
github.com/...atross/security/advisories/GHSA-7c4j-2m43-2mgh
github.com/nimiq/core-rs-albatross/pull/3662
github.com/...ommit/e10eaebcd7774e5da6d0ff5e88ed13503474f0ff
github.com/nimiq/core-rs-albatross/releases/tag/v1.3.0