CVE-2026-54541: nimiq-primitives - Panic in TrieProof::verify due to Child Index Unwrap on Equal-Length Keys

nimiq-primitives Updated 17 Jul 2026

Summary

16/07/2026
Yes i
Low
3.7

CVE-2026-54541: nimiq-primitives: Panic in TrieProof::verify via child_index unwrap on equal-length keys. Affects nimiq-primitives versions < 1.6.0. Fixed in 1.6.0. How to fix ↓

Free scan

Check if this vulnerability affects your application

Upload a manifest or SBOM and we'll show whether you're affected, plus every other risky package in the same scan.

Check my app free

No signup required · Results in about 60 seconds

Upload your dependency manifest or SBOM

Drag & drop your file here or

Java Javascript PHP Python Go Rust Ruby Dart C/C++ Elixir CycloneDX SPDX

Upload a supported dependency manifest or SBOM. No installation or source-code access required.

See supported files and SBOM formats
SBOM sbom.json · bom.json · bom.xml · *.spdx.json · *.cdx.json · *.cdx.xml
Java pom.xml · gradle.lockfile · buildscript-gradle.lockfile
Javascript package-lock.json · yarn.lock · pnpm-lock.yaml
PHP composer.lock
Python poetry.lock · requirements.txt · Pipfile.lock
Go go.mod
Rust Cargo.lock
Ruby Gemfile.lock
Dart pubspec.lock
C/C++ conan.lock
Elixir mix.lock
Enter your work email to receive your report link.

Verify your email to view the full report and start 30 days of continuous monitoring. No credit card required.

Sponsored Devnack Penetration testing for web, API and mobile Manual testing by engineers who build software, not an auditor's checklist. Trusted by teams at Swift and Google Talk to Devnack

Background

nimiq-primitives is a core library used in the Nimiq blockchain ecosystem, providing essential functionalities for handling cryptographic proofs and trie structures. This library is integral for state synchronization among nodes, ensuring data integrity and consistency across the network. However, it is susceptible to a specific vulnerability that can be exploited during the state synchronization process.

Vulnerability Detail

The vulnerability arises from a flaw in the TrieProof::verify method, where it unconditionally unwraps a value derived from child_index based on the length of keys. If two TrieProofNode instances with identical keys are processed, the method will panic due to an attempt to unwrap a None value. This can be triggered by a malicious peer sending a crafted TrieChunk, leading to a crash of the syncing node. The panic occurs before any cryptographic proof verification, allowing an attacker to exploit this without needing a valid proof. The crash is transient, causing the node to restart and re-sync, which can disrupt network operations.

How To Fix

Minimum fixed version

1.6.0

This is the first release that contains the fix.

Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →

Workaround

As a temporary workaround, ensure that your node only syncs from trusted peers to mitigate the risk of encountering malicious TrieChunks.

Conclusion

The CVE-2026-54541 vulnerability in the nimiq-primitives package poses a risk of node crashes during state synchronization due to a panic in the TrieProof::verify method. Upgrading to version 1.6.0 or later is essential to mitigate this issue. Users are also advised to sync only from trusted peers as a temporary measure.

See every vulnerability recorded for nimiq-primitives →

Share this vulnerability

FAQ

The vulnerability can cause a node to crash during state synchronization, leading to potential disruptions in network operations.

You can use the Vulert playground at Vulert Scanner to check if your application is affected by this vulnerability without needing to sign up.

The CVSS score of this vulnerability is 3.7, indicating a low severity level.

Yes, upgrading to version 1.6.0 or later of the nimiq-primitives package provides a permanent fix for this vulnerability.

If an immediate upgrade is not possible, ensure that your node only syncs from trusted peers to reduce the risk of exploitation.

Related vulnerabilities

Recent vulnerabilities recorded for nimiq-primitives.

How To Fix

Minimum fixed version

1.6.0

This is the first release that contains the fix.

Tip — Not sure which version your app runs? Vulert can match this fix to it. Scan free →

Subscribe to Vulert on Telegram
Daily digest of new CVEs, critical and high severity, affected packages and fixes — plus a weekly roundup.
Join the channel →
Help improve this record
Report an issue or send feedback