GHSA-799f-29jm-gr6c
nimiq-primitives: BlockInclusionProof interlink issue when hops are empty
Details
### 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).
Are you affected?
Enter the version of the package you're using.
Affected packages
0 No fixed version published yet for nimiq-primitives. Pin to a known-safe version or switch to an alternative.
References
- https://github.com/nimiq/core-rs-albatross/security/advisories/GHSA-799f-29jm-gr6c [WEB]
- https://nvd.nist.gov/vuln/detail/CVE-2026-46539 [ADVISORY]
- https://github.com/nimiq/core-rs-albatross/pull/3705 [WEB]
- https://github.com/nimiq/core-rs-albatross/commit/cc5a1d54bbbffd1ea975bd2ee87d5f7b3b30bbf1 [WEB]
- https://github.com/nimiq/core-rs-albatross [PACKAGE]
- https://github.com/nimiq/core-rs-albatross/releases/tag/v1.4.0 [WEB]