nimiq-blockchain: Peer-triggerable panic during history sync
Moderate severity
GitHub Reviewed
Published
Apr 22, 2026
in
nimiq/core-rs-albatross
•
Updated Apr 27, 2026
Description
Published to the GitHub Advisory Database
Apr 22, 2026
Reviewed
Apr 22, 2026
Published by the National Vulnerability Database
Apr 22, 2026
Last updated
Apr 27, 2026
Impact
HistoryStore::put_historic_txnsuses anassert!to enforce invariants aboutHistoricTransaction.block_number(must be within the macro block being pushed and within the same epoch). During history sync, a peer can influence thehistory: &[HistoricTransaction]input passed intoBlockchain::push_history_sync, and a malformed history list can violate these invariants and trigger a panic.extend_history_synccallsthis.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.Patches
The patch for this vulnerability is included as part of v1.3.0.
Workarounds
No known workarounds.
References