Skip to main content
← All vulnerabilities
CVE-2026-34066GHSA-J99G-7RQW-Q9JG

nimiq-blockchain: Peer-triggerable panic during history sync

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 1.3.0
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: none
  • Automatable: no
  • Technical impact: partial

Summary

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.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: none · Automatable: no · Technical impact: partial

  3. Record last updated

Affected versions

  • nimiq nimiq-blockchain

    fixed in 1.3.0

  • nimiq-blockchaincrates.io

    through 0.2.0

References 4

GitHub · nimiq/core-rs-albatross