Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconObtain validator credentials
-
DeliveryCraft skip block proof
-
ExploitInsert 65536-spaced BitSet indices
-
InstallSubmit for verification
-
C2Trigger usize-to-u16 truncation
-
ExecuteMultiply single BLS signature
-
ImpactPass quorum check
-
Step 8Manipulate consensus
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V2 - Validation and Business Logic Input validation, allowlisting
|
| Exploitation Conditions | Attacker must possess valid low-privilege validator credentials in a Nimiq Albatross network (PR:L) - this requires staking NIM tokens and completing validator registration, limiting the threat to registered network participants or compromised validator operators rather than anonymous external attackers. Target node must run core-rs-albatross version prior to 1.3.0. No special network configurations, disabled security features, or user interaction required (AC:L/UI:N). The vulnerability exists in default skip block proof verification logic executed during normal consensus operation. Exploitation is limited to consensus-layer attacks rather than traditional RCE/data exfiltration - attacker cannot directly compromise nodes but can manipulate blockchain state by forging validator participation, which may enable double-spending or denial of finality depending on attacker's position in the validator set. |
| Impact | CVSS 9.6 (Critical) indicates network-accessible attack requiring low-privilege validator credentials (PR:L) with no complexity barriers and changed scope affecting consensus integrity and availability - appropriate for a consensus forgery vulnerability. The changed scope (S:C) reflects that compromising one validator's consensus participation can impact the entire blockchain network's integrity. Attack complexity is genuinely low (AC:L) since exploit requires only crafting BitSet indices at known 65536-byte intervals. However, real-world risk is moderated by PR:L requirement: attacker must control at least one registered validator with staking credentials in the Nimiq network, limiting this to insider threats or compromised validator operators rather than anonymous internet attackers. No EPSS score available to assess widespread exploitation probability. Not listed in CISA KEV, and GitHub advisory (GHSA-6973-8887-87ff) contains no indication of active exploitation - this appears to be a responsibly disclosed vulnerability patched before public exploitation. Primary concern is targeted attacks against Nimiq-based networks by malicious validators rather than opportunistic mass exploitation. Patch availability in v1.3.0 significantly reduces ongoing risk for operators who upgrade. |
| Exploit ScenarioDerived | A malicious validator operator with staking credentials in a Nimiq Albatross network crafts a fraudulent skip block proof claiming validator participation from multiple slots. They construct a MultiSignature.signers BitSet containing indices {5, 65541, 131077, 196613} - all resolving to slot 5 (mod 65536) after u16 casting. The SkipBlockProof.verify function counts len()=4 for quorum verification, meeting the 2f+1 threshold, but during BLS signature aggregation all four indices collapse to validator slot 5. The attacker provides their own BLS signature for slot 5 multiplied by factor 4, which verifies successfully. The network accepts a skip block signed by only one real validator, violating Byzantine fault tolerance assumptions and enabling chain manipulation or double-spend attacks. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Apr 23, 2026
Integer truncation in Nimiq core-rs-albatross's skip block proof verification allows authenticated validators to forge consensus quorum with insufficient signatures. Prior to v1.3.0, attackers exploit usize-to-u16 casting during BitSet iteration by inserting indices spaced at 65536 intervals - these inflate the quorum count via len() but collapse onto identical u16 slots during BLS signature aggregation, enabling a single malicious validator to masquerade as 2f+1 signers and pass verification. CVSS 9.6 (Critical) reflects network vector with low complexity and changed scope impacting integrity and availability of the Proof-of-Stake consensus. No EPSS or KEV data available; vendor-released patch confirmed in v1.3.0 via GitHub advisory and commit d020590.
RemediationAI
Upgrade Nimiq core-rs-albatross to version 1.3.0 or later, released March 2025 at https://github.com/nimiq/core-rs-albatross/releases/tag/v1.3.0. The fix is implemented in commit d02059053181ed8ddad6b59a0adfd661ef5cd823 (pull request #3657) which corrects the type handling in SkipBlockProof verification to prevent integer truncation during slot lookup. No workarounds exist per vendor advisory - runtime mitigation is not possible without code changes. Operators should prioritize this upgrade for all consensus-participating nodes (validators and full nodes verifying skip block proofs). Verify upgrade success by confirming release tag v1.3.0 in deployment and reviewing commit history includes d020590. Post-upgrade, audit validator registration and access controls to ensure only authorized entities hold validator credentials, as PR:L requirement remains a necessary precondition for exploitation even in vulnerable versions.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in cargo
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Nimiq core-rs-albatross implements the Albatross Proof-of-Stake consensus algorithm in Rust. Skip block proofs use BLS threshold signatures where validator participation is tracked via BitSet indices representing validator slots. The vulnerability stems from CWE-20 (Improper Input Validation) where SkipBlockProof::verify performs quorum validation using BitSet.len() - which counts total set bits regardless of numeric value - but then iterates indices and casts each usize to u16 for slot lookup during signature aggregation. In Rust, usize-to-u16 casting truncates high-order bits, so indices differing by exact multiples of 65536 (2^16) collapse to identical u16 values. An attacker crafting a MultiSignature.signers BitSet with indices like {42, 65578, 131114} produces len()=3 for quorum calculation but all resolve to slot 42 during aggregation, allowing one validator's BLS signature multiplied by 3 to appear as three distinct validators. This breaks the 2f+1 Byzantine fault tolerance threshold central to Albatross consensus.
Know when Core Rs Albatross gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:L/PR:L/UI:N/S:C/C:N/I:H/A:H
Primary rating from Vendor (GitHub_M) · only source for this CVE.
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
3DescriptionCVE.org
nimiq/core-rs-albatross is a Rust implementation of the Nimiq Proof-of-Stake protocol based on the Albatross consensus algorithm. SkipBlockProof::verify computes its quorum check using BitSet.len(), then iterates BitSet indices and casts each usize index to u16 (slot as u16) for slot lookup. Prior to version 1.3.0, if an attacker can get a SkipBlockProof verified where MultiSignature.signers contains out-of-range indices spaced by 65536, these indices inflate len() but collide onto the same in-range u16 slot during aggregation. This makes it possible for a malicious validator with far fewer than 2f+1 real signer slots to pass skip block proof verification by multiplying a single BLS signature by the same factor. The patch for this vulnerability is included as part of v1.3.0. No known workarounds are available.
Executive ViewAI
Nimiq core-rs-albatross versions prior to 1.3.0 contain a critical integer truncation vulnerability in consensus block verification that allows authenticated validators to forge blockchain consensus by impersonating multiple signers with a single key. This directly undermines the integrity of the Proof-of-Stake network and could enable consensus manipulation, making this a high-priority patch for any organization running Nimiq validator infrastructure.
Apply vendor patch. Version 1.3.0 remedies the integer truncation flaw via corrected BitSet index handling. No interim mitigations exist for this consensus-layer vulnerability; patching is mandatory.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
More in Core Rs Albatross
View allTimestamp manipulation in Nimiq Core Rust implementation (nimiq-blockchain 1.3.0 and earlier) allows authenticated block
Nimiq core-rs-albatross validators prior to version 1.3.0 can be remotely crashed via malformed Tendermint proposals. An
Integer underflow in Nimiq core-rs-albatross <1.3.0 enables unauthenticated remote attackers to trigger deterministic de
Denial of service in Nimiq Core RS Albatross prior to version 1.3.0 allows remote attackers to crash full nodes by sendi
Elected validator proposers in nimiq/core-rs-albatross before version 1.3.0 can submit election macro blocks with malfor
Panic-triggered denial of service in Nimiq's core-rs-albatross (versions prior to 1.4.0) allows a network-level attacker
EUVD-2026-25054
GHSA-6973-8887-87ff
NVD
CVE.org
EPSS
Vulnrichment
Exploit-DB