CVE-2026-34066 PUBLISHED

nimiq-blockchain: Peer-triggerable panic during history sync

Assigner: GitHub_M
Reserved: 25.03.2026 Published: 22.04.2026 Updated: 22.04.2026

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.

Metrics

CVSS Vector: CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:U/C:N/I:N/A:H
CVSS Score: 5.3

Product Status

Vendor nimiq
Product nimiq-blockchain
Versions
  • Version < 1.3.0 is affected

References

Problem Types

  • CWE-20: Improper Input Validation CWE
  • CWE-617: Reachable Assertion CWE
  • CWE-754: Improper Check for Unusual or Exceptional Conditions CWE