CVE-2026-34066

MEDIUM
Published Apr 22, 2026 Modified Apr 24, 2026 CWE-20 CWE-617 CWE-754

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.

CVSS v3.1 Score

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

EPSS — Exploit Prediction

0.0012
Probability of exploitation
0.30%
Percentile rank

EPSS estimates the probability that this vulnerability will be exploited in the wild within the next 30 days. A higher score means more likely to be exploited.

Weakness Type (CWE)

CWE-20 Improper Input Validation
CWE-617 CWE-617
CWE-754 CWE-754

Affected Products

Vendor Product
nimiq nimiq_proof-of-stake

References

Frequently Asked Questions

What is CVE-2026-34066? +
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. It has a CVSS v3.1 base score of 5.3 (MEDIUM).
How severe is CVE-2026-34066? +
CVE-2026-34066 has a CVSS v3.1 score of 5.3 out of 10, rated MEDIUM. This is a medium-severity vulnerability that should be remediated as part of regular maintenance. The EPSS score is 0.0012, placing it in the 0th percentile for exploitation probability.
What products are affected by CVE-2026-34066? +
CVE-2026-34066 affects products from nimiq, specifically: nimiq_proof-of-stake. Check the affected products table above for specific version ranges.
How do I check if I'm vulnerable to CVE-2026-34066? +
You can use Secably's free Website Scanner to check your website for known vulnerabilities. For infrastructure scanning, use the Port Scanner to identify exposed services that may be affected. Check the vendor advisories linked above for specific patch and version information.

Related Vulnerabilities

Don't wait for an exploit

Scan your website for vulnerabilities like CVE-2026-34066 — free, no signup required.

Start Free Scan