Skip to content
OpenAdvisories

Vendor

nimiq

28 known vulnerabilities.

13 results · Clear filters · Feed

  • Medium 5.3

    nimiq-blockchain: Genesis batch set request

    Nimiq is a Rust implementation of the Nimiq Proof-of-Stake protocol based on the Albatross consensus algorithm. Prior to version 1.5.0, a remote peer can crash any full node by sending a RequestBatchSet message containing the genesis block's hash. The handler…

  • Medium 4.3

    nimiq-keys: Denial of service in Ed25519 multisig delinearization via invalid curve points

    Nimiq is a Rust implementation of the Nimiq Proof-of-Stake protocol based on the Albatross consensus algorithm. Prior to version 1.4.0, a denial-of-service vulnerability exists in the Ed25519 multisig delinearization code path. Ed25519PublicKey::delinearize()…

  • Medium 6.5

    Nimiq light-blockchain: Light blockchain rebranch issue

    Nimiq is a Rust implementation of the Nimiq Proof-of-Stake protocol based on the Albatross consensus algorithm. Prior to version 1.4.0, when LightBlockchain::rebranch() adopts a fork chain whose tip is a macro block (checkpoint or election), it only updates s…

  • Medium 5.9

    nimiq-primitives: BlockInclusionProof interlink issue when hops are empty

    Nimiq is a Rust implementation of the Nimiq Proof-of-Stake protocol based on the Albatross consensus algorithm. Prior to version 1.4.0, a logic flaw in BlockInclusionProof::is_block_proven causes the function to return true without performing any cryptographi…

  • Medium 5.3

    Nimiq network-libp2p: Untrusted peer can wedge DHT

    Nimiq is a Rust implementation of the Nimiq Proof-of-Stake protocol based on the Albatross consensus algorithm. network-libp2p handles kad get-record query progress in handle_dht_get (network-libp2p/src/swarm.rs). Prior to version 1.4.0, when a peer returns a…

  • Medium 4.3

    nimiq-blockchain: network-libp2p untrusted peer can crash address book via empty peer contact addresses

    nimiq-blockchain provides persistent block storage for Nimiq's Rust implementation. In versions 1.3.0 and prior, network-libp2p discovery accepts signed PeerContact updates from untrusted peers and stores them in a peer contact book, eventually leading to add…

  • Medium 6.8

    nimiq-transaction: UpdateValidator transactions allows voting key change without proof-of-knowledge

    nimiq-transaction provides the transaction primitive to be used in Nimiq's Rust implementation. Prior to version 1.3.0, the staking contract accepts `UpdateValidator` transactions that set `new_voting_key=Some(...)` while omitting `new_proof_of_knowledge`. th…

  • Medium 5.3

    nimiq-blockchain: Peer-triggerable panic during history sync

    nimiq-blockchain provides persistent block storage for Nimiq's Rust implementation. Prior to version 1.3.0, `HistoryStore::put_historic_txns` uses an `assert!` to enforce invariants about `HistoricTransaction.block_number` (must be within the macro block bein…

  • Medium 5.3

    nimiq-account: Vesting insufficient funds error can panic

    nimiq-account contains account primitives to be used in Nimiq's Rust implementation. Prior to version 1.3.0, `VestingContract::can_change_balance` returns `AccountError::InsufficientFunds` when `new_balance < min_cap`, but it constructs the error using `balan…

  • Medium 5.3

    Nimiq has Allocation of Resources Without Limits or Throttling in its libp2p request/response

    nimiq-libp2p is a Nimiq network implementation based on libp2p. Prior to version 1.3.0, `MessageCodec::read_request` and `read_response` call `read_to_end()` on inbound substreams, so a remote peer can send only a partial frame and keep the substream open. be…

  • Medium 5.3

    nimiq-consensus panics via RequestMacroChain micro-block locator

    nimiq/core-rs-albatross is a Rust implementation of the Nimiq Proof-of-Stake protocol based on the Albatross consensus algorithm. In versions 1.2.2 and below, an unauthenticated p2p peer can cause the RequestMacroChain message handler task to panic. Sending a…

  • Medium 5.3

    nimiq/core-rs-albatross: Panic in history index request handlers when a full node runs without the history index

    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, two peer-facing consensus request handlers assume that the history index is always available and call blo…

  • Medium 4.9

    nimiq/core-rs-albatross: Macro block proposal interlink bug

    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, an elected validator proposer can send an election macro block whose header.interlink does not match the …