GHSA-799f-29jm-gr6c
nimiq-primitives: BlockInclusionProof interlink issue when hops are empty
Packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| crates.io | nimiq-primitives | <= 0.2.0 | no fix listed |
Details
As written in the advisory (Markdown source, shown as plain text).
### Impact
A logic flaw in `BlockInclusionProof::is_block_proven` causes the function to return true without performing any cryptographic verification when `get_interlink_hops` yields an empty hop list. This occurs when the target block is at the election block position immediately preceding the election head's epoch. An attacker providing transaction inclusion proofs can forge a MacroBlock header for that epoch position and have it accepted as "proven" without any hash or signature verification.
### Patches
[The patch for this vulnerability](https://github.com/nimiq/core-rs-albatross/pull/3705) is formally released as part of [v1.4.0](https://github.com/nimiq/core-rs-albatross/releases/tag/v1.4.0).
### Workarounds
No Workarounds
### Resources
See [PR](https://github.com/nimiq/core-rs-albatross/pull/3705).
References
External links from the advisory. They lead to third-party sites.
- https://github.com/nimiq/core-rs-albatross/security/advisories/GHSA-799f-29jm-gr6c
- https://nvd.nist.gov/vuln/detail/CVE-2026-46539
- https://github.com/nimiq/core-rs-albatross/pull/3705
- https://github.com/nimiq/core-rs-albatross/commit/cc5a1d54bbbffd1ea975bd2ee87d5f7b3b30bbf1
- https://github.com/nimiq/core-rs-albatross
- https://github.com/nimiq/core-rs-albatross/releases/tag/v1.4.0