CVE-2026-34066

MEDIUM

nimiq-blockchain: Peer-triggerable panic during history sync

Title source: cna

Description

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 being pushed and within the same epoch). During history sync, a peer can influence the `history: &[HistoricTransaction]` input passed into `Blockchain::push_history_sync`, and a malformed history list can violate these invariants and trigger a panic. `extend_history_sync` calls `this.history_store.add_to_history(..)` before comparing the computed history root against the macro block header (`block.history_root()`), so the panic can happen before later rejection checks run. The patch for this vulnerability is included as part of v1.3.0. No known workarounds are available.

Scores

CVSS v3 5.3
EPSS 0.0005
EPSS Percentile 15.2%
Attack Vector NETWORK
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:N/A:H

Details

CWE
CWE-20 CWE-617 CWE-754
Status published
Products (2)
crates.io/nimiq-blockchain 0crates.io
nimiq/nimiq-blockchain < 1.3.0
Published Apr 22, 2026
Tracked Since Apr 23, 2026