Read the docs
TI-2026-39380 Aliases CVE-2026-54541GHSA-46wq-28cx-mhw4

Nimiq: Panic in TrieProof::verify via child_index unwrap on equal-length keys

Priority LOW 18CWE-248Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
High
Impact type
Denial of service
Confidentiality · integrity · availability
None · None · Low
Fix status
Fixed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub. Impact type from CWE-248.

Summary

Nimiq is a Rust implementation of the Nimiq Proof-of-Stake protocol based on the Albatross consensus algorithm. Prior to 1.6.0, a malicious state-sync peer can crash a syncing node by sending a crafted TrieChunk proof containing two TrieProofNode values with identical keys. TrieProof::verify calls TrieProofNode::child_index in primitives/src/trie/trie_proof_node.rs, where is_prefix_of accepts equal keys and KeyNibbles::get is called at the key length, returns None, and is unconditionally unwrapped. Untrusted ResponseChunk data reaches commit_chunks, put_chunk, and proof.verify before cryptographic proof validation, so the attacker does not need a valid proof. Exploitation requires the attacker to be selected as the victim's sync peer during state sync, and the resulting panic is transient because the node restarts and resynchronizes. This issue is fixed in version 1.6.0.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00443 38th percentileScored 2026-11-07
Fix Fixed core-rs-albatross (nimiq): 1.6.0nimiq-primitives (crates.io): 1.6.0

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
nimiqcore-rs-albatrossbefore 1.6.01.6.0Patch availableCNA
—nimiq-primitives (crates.io)before 1.6.01.6.0Patch availableGHSA-46wq-28cx-mhw4
  • core-rs-albatross Vendornimiq Affected before 1.6.0 Fixed in 1.6.0 Patch available CNA
  • nimiq-primitives (crates.io) Vendor— Affected before 1.6.0 Fixed in 1.6.0 Patch available GHSA-46wq-28cx-mhw4

CPE names Threatist (inferred) · 1

Inferred from how NVD named this product before; not given by a source.

CPEVersionsRoleVendor
cpe:2.3:a:nimiq:nimiq_proof-of-stake:*:*:*:*:*:*:*:*——nimiq
  • cpe:2.3:a:nimiq:nimiq_proof-of-stake:*:*:*:*:*:*:*:* Versions — — ·nimiq

Remediation

  • Fix · CNA core-rs-albatross (nimiq) Fixed in 1.6.0
  • Fix · GHSA-46wq-28cx-mhw4 nimiq-primitives (crates.io) Fixed in 1.6.0 Advisory →

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-54541
  2. 2026-10-03 Alias added: GHSA-46wq-28cx-mhw4

References

  • TI-2026-26389 nimiq-account: Vesting insufficient funds error can panic CVSS 3.1HIGH 8.2
  • TI-2026-25867 nimiq-block has skip block quorum bypass via out-of-range BitSet indices & u16 truncation CVSS 3.1CRITICAL 9.6
  • TI-2026-34086 Nimiq: Validity store off by one error CVSS 3.1HIGH 7.5
  • TI-2026-28920 nimiq-keys: Unchecked Ed25519 signature length in TaggedPublicKey::verify causes remote node panic via DHT CVSS 3.1HIGH 7.5
  • TI-2025-29800 nimiq-network-libp2p Uncontrolled Resource Consumption vulnerability CVSS 3.1HIGH 7.5
  • TI-2026-34224 nimiq-primitives: Panic DoS in trie chunk processing via ROOT-keyed item CVSS 3.1HIGH 7.5
See all 27 →

Sources