nimiq-blockchain: Peer-triggerable panic during history sync
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- Required
- Attack complexity
- High
- Impact type
- Denial of service
- Confidentiality · integrity · availability
- None · None · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-617.
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.
Why it matters now
SSVC decision points
CISA ADP · SSVC 2.0.3
- Exploitation
- None
- Automatable
- No
- Technical impact
- Partial
The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| nimiq | nimiq-blockchain | before 1.3.0 | 1.3.0 | Patch available | CNA |
| — | nimiq-blockchain (crates.io) | up to 0.2.0 | — | No fix listed | GHSA-j99g-7rqw-q9jg |
- nimiq-blockchain Vendornimiq Affected before 1.3.0 Fixed in 1.3.0 Patch available CNA
- nimiq-blockchain (crates.io) Vendor— Affected up to 0.2.0 Fixed in — No fix listed GHSA-j99g-7rqw-q9jg
Remediation
- Fix · CNA nimiq-blockchain (nimiq) Fixed in 1.3.0
Timeline
- 2026-10-02 Threatist record created from CVE-2026-34066
- 2026-10-03 Alias added: GHSA-j99g-7rqw-q9jg
References
Patch 3
More Nimiq Proof-of-stake vulnerabilities
- TI-2026-26389 nimiq-account: Vesting insufficient funds error can panic CVSS 3.1HIGH 8.2
- TI-2026-25867 nimiq-block has skip block quorum bypass via out-of-range BitSet indices & u16 truncation CVSS 3.1CRITICAL 9.6
- TI-2026-27598 nimiq/core-rs-albatross: Panic in history index request handlers when a full node runs without the history index CVSS 3.1HIGH 7.5
- TI-2026-26390 nimiq-primitives: Node crash due to missing interlink validation in election macro block proposals CVSS 3.1HIGH 7.5
- TI-2026-26388 network-libp2p: Peer can crash the node by opening discovery protocol substream twice CVSS 3.1HIGH 7.5
- TI-2026-25612 nimiq/core-rs-albatross: Discovery handshake limit could underflow and later provoke a deterministic overflow panic CVSS 3.1HIGH 7.5
Sources
- CVE-2026-34066 · CVE Program
- CVE-2026-34066 · NVD
- FIRST EPSS
- GHSA-j99g-7rqw-q9jg · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences