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
nimiq: nimiq proof-of-stake
References4
- github.com/nimiq/core-rs-albatross/security/advisories/GHSA-264… PatchVendor Advisory
- github.com/nimiq/core-rs-albatross/commit/6ff0800e8e031363e787c… Patch
- github.com/nimiq/core-rs-albatross/pull/3659 Issue TrackingPatch
- github.com/nimiq/core-rs-albatross/releases/tag/v1.3.0 Release Notes
Metrics
- CVSS 3.1
-
6.5
MEDIUM
Score source: NVD
CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:H - EPSS — exploit probability
- 0% percentile: 25 · as of 13 November 2026
- CWE
- CWE-617
Could this be exploited in your environment?
A patch closes the known hole. A penetration test shows what an attacker can still reach — with proof.