CVE-2026-54542 json
Nimiq: Out-of-bounds panic in KeyNibbles::Add from oversized child suffix in a deserialized proof
published 3mo ago modified last mo. also EUVD-2026-77574 , GHSA-5rg2-xv9j-gv5p
- cvss
- 3.7
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.4%
- EPSS 0.4% chance of exploitation in 30 days, percentile 38%
- public exploits
- 0
- none known
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 whose proof contains a TrieNodeChild suffix that is individually valid but exceeds the 63-byte KeyNibbles backing array when combined with the parent key. KeyNibbles::Add in primitives/src/key_nibbles.rs performs the combined slice operation without checking the total length, and the input reaches put_chunk, TrieNodeChild::key, and TrieNodeChild::is_stump before proof.verify, so the attacker does not need a valid cryptographic proof. Exploitation requires the attacker to be selected as the victim's sync peer during state sync. The resulting out-of-bounds panic is transient because the node restarts and resynchronizes. This issue is fixed in version 1.6.0.
Patch / fix
- crates.io nimiq-primitives 1.6.0
- nimiq nimiq-primitives 1.6.0
Is CVE-2026-54542 in your dependencies? Fencer shows which of your repositories are affected as soon as an advisory lands, and opens the fix as a pull request.
Check with FencerCISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- last mo.
Exploit prediction
0.44% chance of exploitation in the next 30 days, higher than 38% of all scored CVEs (FIRST EPSS, 2026-11-11).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 3.7 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L |
| GitHub | 3.1 | 3.7 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:L |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| crates.io | nimiq-primitives | <1.6.0 |
1.6.0 |
Affected products
- nimiq core-rs-albatross
Classification
- Weakness
-
- CWE-125 Out-of-bounds Read
References
-
github.com
/nimiq/core-rs-albatross/pull/3790
web
-
github.com
/nimiq/core-rs-albatross/commit/eabfc3e21731b0628c3f933163a0f1e1864217bf
web
-
github.com
/nimiq/core-rs-albatross/security/advisories/GHSA-5rg2-xv9j-gv5p
web
-
github.com
/nimiq/core-rs-albatross/releases/tag/v1.6.0
web
-
github.com
/nimiq/core-rs-albatross
package
Sources
- CVE List CVE-2026-54542
- GitHub Advisory GHSA-5rg2-xv9j-gv5p
- NVD CVE-2026-54542
Fencer Intel keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.