Skip to main content

Nimiq core-rs-albatross CVE-2026-33471

| EUVDEUVD-2026-25054 CRITICAL
Improper Input Validation (CWE-20)
2026-04-22 GitHub_M GHSA-6973-8887-87ff
9.6
CVSS 3.1 · Vendor: GitHub_M
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Recon
    Obtain validator credentials
  2. Delivery
    Craft skip block proof
  3. Exploit
    Insert 65536-spaced BitSet indices
  4. Install
    Submit for verification
  5. C2
    Trigger usize-to-u16 truncation
  6. Execute
    Multiply single BLS signature
  7. Impact
    Pass quorum check
  8. Step 8
    Manipulate 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.

Act Now Prioritize within 24-48h. Why: CRITICAL severity.
Patch available 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

nimiq-block < 1.3.0

Affected Packages

cargo nimiq-block fix: 1.3.0, 1.7.2

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

Vendor (GitHub_M) PRIMARY 9.6 CRITICAL
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

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Changed
Confidentiality
None
Integrity
High
Availability
High

Lifecycle Timeline

3
Patch released
Apr 24, 2026 - 17:11 nvd
Patch available
Patch available
Apr 22, 2026 - 20:32 EUVD
CVE Published
Apr 22, 2026 - 19:13 nvd
CRITICAL 9.6

DescriptionCVE.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

Why It Matters

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.

Business Impact: Severe
Compensating Controls

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

EPSS Score
0.0%
Top 93% exploitable
Threat Intel
1
1 source
Social Media
1
Sightings
Data Quality
6 sources
Confidence: High

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.

SignalValue
Severity CRITICAL
CISA KEV No
Public POC No
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
CRITICAL severity
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
Very High
Technical Impact
Partial

Priority Score

48
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +48
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy