
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2026-54541 is a denial-of-service vulnerability in the Nimiq core-rs-albatross blockchain node implementation, specifically in the nimiq-primitives crate's TrieProof::verify() function. A malicious peer acting as a state-sync source can crash a syncing node by sending a crafted TrieChunk containing two TrieProofNodes with identical keys, triggering an uncaught Rust panic. All versions of core-rs-albatross up to and including 1.5.1 are affected. The vulnerability was first published on June 5, 2026, and carries a CVSS v3.1 base score of 3.7 (Low) (GitHub Advisory, Nimiq Advisory).
The root cause is an uncaught exception (CWE-248) in TrieProofNode::child_index() located at primitives/src/trie/trie_proof_node.rs:94. The function calls KeyNibbles::get(self.key.len()).unwrap() without guarding against the case where the child prefix key has the same length as the node key. Because is_prefix_of returns true for two equal-length identical keys, execution reaches get(len), which returns None, and the unconditional unwrap() causes a Rust panic. The vulnerable code path is reachable from untrusted network input via ResponseChunk → commit_chunks → put_chunk → proof.verify() before any cryptographic proof verification, meaning an attacker does not need to supply a cryptographically valid proof — only a malformed TrieChunk with duplicate TrieProofNode keys (GitHub Advisory, Fix Commit).
Successful exploitation causes the targeted Nimiq node to crash (panic) during state synchronization, resulting in a transient availability impact — the node automatically restarts and re-syncs. There is no impact on confidentiality or data integrity, and the crash does not persist beyond the restart cycle. The scope is limited to the individual node being synced; no lateral movement or data exfiltration is possible through this vulnerability (GitHub Advisory).
No public exploit code or in-the-wild exploitation has been reported for CVE-2026-54541. Exploitation requires a specific precondition: the attacker must be selected as the victim node's sync peer during an active state-sync operation, which introduces meaningful attack complexity (reflected in the CVSS AC:H rating). The vulnerability is not listed in the CISA Known Exploited Vulnerabilities (KEV) catalog, and no EPSS score data is currently available (GitHub Advisory, Nimiq Advisory).
core-rs-albatross version ≤ 1.5.1 that is actively performing state synchronization (e.g., a newly bootstrapping node).ResponseChunk message containing a TrieChunk whose TrieProof includes two TrieProofNode entries with identical KeyNibbles keys. No valid cryptographic proof is required.TrieChunk to the victim node during the state-sync phase. The message is processed via commit_chunks → put_chunk → proof.verify().TrieProof::verify() calls child_index(), which invokes KeyNibbles::get(self.key.len()).unwrap() on the duplicate-key node, returns None, and panics — crashing the node process (GitHub Advisory, Fix Commit).TrieProofNode::child_index, trie_proof_node.rs, or unwrap() failures during state-sync operations; unexpected node restart events logged around state-sync activity.ResponseChunk/TrieChunk messages received from a specific peer IP during state synchronization; the node crashing and reconnecting to the same peer repeatedly.core-rs-albatross node process coinciding with state-sync phases, particularly when syncing from a previously unknown peer.Upgrade nimiq-primitives (part of core-rs-albatross) to version 1.6.0, which fixes the vulnerability by modifying child_index() to explicitly reject equal-length keys and return MerkleRadixTrieError::WrongPrefix instead of calling unwrap() (Fix Commit, v1.6.0 Release). The only available workaround for operators unable to upgrade immediately is to configure nodes to sync exclusively from trusted peers, which eliminates the attacker's ability to act as a malicious sync source (Nimiq Advisory).
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."