Skip to content
OpenAdvisories
Low · 3.1 CVE-2026-34067 EUVD-2026-25084GHSA-264v-m8fm-76jm

nimiq-transaction vulnerable to panic via `HistoryTreeProof` length mismatch

Published Apr 22, 2026 · Updated Apr 23, 2026 · Assigned by GitHub_M

Description

nimiq-transaction provides the transaction primitive to be used in Nimiq's Rust implementation. Prior to version 1.3.0, `HistoryTreeProof::verify` panics on a malformed proof where `history.len() != positions.len()` due to `assert_eq!(history.len(), positions.len())`. The proof object is derived from untrusted p2p responses (`ResponseTransactionsProof.proof`) and is therefore attacker-controlled at the network boundary until validated. A malicious peer could trigger a crash by returning a crafted inclusion proof with a length mismatch. The patch for this vulnerability is included as part of v1.3.0. No known workarounds are available.

Affected products

VendorProductAffectedFixed
nimiq nimiq-transaction < 1.3.0 —

Affected packages

EcosystemPackageAffectedFixedRecord
crates.io nimiq-transaction <= 0.2.0 — GHSA-264v-m8fm-76jm

References