Nimiq Albatross CVE-2026-46540
MEDIUMAttack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessConnect to target light client as P2P peer
-
DeliveryBroadcast superior fork chain whose tip is an election macro block
-
ExploitClient calls LightBlockchain::rebranch(), updates head only
-
Executionmacro_head, election_head, current_validators remain stale
-
PersistAll subsequent blocks fail verify_validators() against stale validator set
-
ImpactLight client chain progression permanently halted
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A06:2025 - Insecure Design
ASVS 5.0
V2 - Validation and Business Logic Workflow enforcement
|
| Exploitation Conditions | The vulnerability requires that the attacker's fork chain tip be a macro block - either a checkpoint (batch boundary) or an election block (epoch boundary). The most severe outcome (permanent chain stall) occurs specifically when the rebranch tip is an election block, because stale current_validators corrupts every subsequent verify_validators() call. The target must be running the LightBlockchain implementation (light client mode); full nodes using Blockchain::rebranch() are not affected by this missing state-update path. No authentication is required (PR:N in CVSS vector). No special user interaction is needed. The attack is limited to light clients reachable on the Nimiq P2P network that can be induced to rebranch - either via natural fork resolution or by an adversarial peer presenting a crafted superior chain. Exploitation is constrained to the rebranch code path; light clients that never encounter a fork with a macro-block tip are not affected in practice. |
| Impact | The CVSS 3.1 base score of 6.5 (AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:L) reflects a network-reachable, unauthenticated attack requiring no user interaction and low complexity, but with only partial integrity and availability impact. The limited impact scores are appropriate: the vulnerability affects only LightBlockchain consumers (light clients), not full nodes running Blockchain::rebranch(). The practical impact on targeted light clients, however, is severe - a successful rebranch to an election block produces a permanent chain stall with no self-recovery, effectively a complete denial of chain progression for that client. The CVSS scope of U (unchanged) is consistent: only the light client's own state is corrupted, not other systems. EPSS data was not provided in the input and cannot be inferred. No CISA KEV listing. The NVD-supplied tag 'Information Disclosure' appears inconsistent with the described impact (integrity corruption and availability loss); this may reflect a tagging error or a secondary effect not elaborated in the advisory - analysts should treat the primary impact as integrity and availability, not confidentiality. The fix is present in a merged public PR, meaning the triggering conditions are fully visible to any researcher reading the diff, which slightly elevates the likelihood of a targeted proof-of-concept being constructed. |
| Exploit ScenarioDerived | An attacker with the ability to influence the blocks seen by a target light client - for example, by operating a peer node on the Nimiq P2P network - constructs or waits for a natural fork whose diverging tip is an election macro block. When the attacker's chain accumulates sufficient work to be preferred, the target light client calls rebranch(), adopts the fork, but retains its old current_validators. Every subsequent block pushed to the client then fails verify_validators() against the now-incorrect validator set, and the client's chain permanently halts. The exact triggering conditions are fully documented in the regression tests added in PR #3706, lowering the barrier to constructing a targeted proof-of-concept. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 10, 2026
Incomplete macro-block state synchronization in Nimiq core-rs-albatross LightBlockchain allows a network-accessible attacker to permanently stall a light client's chain progression by triggering a rebranch to a fork whose tip is a macro (checkpoint or election) block. Affected are all deployments of the Rust Albatross light client prior to v1.4.0. When exploitation targets an election block specifically, the stale current_validators pointer causes every subsequent push() call to fail verify_validators(), rendering the light client unable to advance its chain. No public exploit identified at time of analysis, though the exact fix is visible in merged PR #3706 and the triggering conditions are fully described in the advisory.
RemediationAI
Upgrade to Nimiq core-rs-albatross v1.4.0, the vendor-released patch confirmed by the GitHub release tag at https://github.com/nimiq/core-rs-albatross/releases/tag/v1.4.0. The fix, implemented in PR #3706 (https://github.com/nimiq/core-rs-albatross/pull/3706), adds a conditional block in light-blockchain/src/push.rs that detects when the new head after a rebranch is a macro block and explicitly updates macro_head, election_head, current_validators, and writes the election header to chain_store - mirroring the already-correct logic in the full Blockchain::rebranch(). If an immediate upgrade is not possible, operators running light clients may consider switching to full node mode, which uses the unaffected Blockchain::rebranch() path; this trades reduced resource usage for correctness and is the only reliable compensating control, as no configuration flag exists to disable the vulnerable rebranch path selectively. There is no known in-process workaround that preserves light-client mode while preventing the stale-state corruption.
Affected ProductsAI
All deployments of the Nimiq core-rs-albatross Rust implementation using the LightBlockchain component prior to version 1.4.0 are affected. Full nodes using Blockchain::rebranch() are not affected by this logic gap. The patched release is tagged v1.4.0, confirmed at https://github.com/nimiq/core-rs-albatross/releases/tag/v1.4.0. The GitHub Security Advisory is GHSA-m3pg-qc2q-mg8c, accessible at https://github.com/nimiq/core-rs-albatross/security/advisories/GHSA-m3pg-qc2q-mg8c. No CPE string was provided in NVD at time of analysis; the affected software is identifiable as the nimiq/core-rs-albatross crate on crates.io prior to 1.4.0.
Affects your stack
Find out whether the stacks and servers you run are on an affected version.
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Nimiq's Albatross proof-of-stake consensus distinguishes micro blocks from macro blocks; macro blocks are further split into checkpoint blocks (batch boundaries) and election blocks (epoch boundaries). Election blocks carry the validator set for the next epoch. The LightBlockchain struct maintains four distinct state pointers: head (current chain tip), macro_head (most recent macro block), election_head (most recent election block), and current_validators (active validator set derived from the last election). When a rebranch occurs (the light client switches from its current chain to a superior fork), the rebranch() function must update all four pointers if the new chain tip is a macro block. Prior to v1.4.0, the implementation in light-blockchain/src/push.rs updated only self.head, leaving macro_head, election_head, current_validators, and the chain_store's election record in a stale state. CWE-841 (Improper Enforcement of Behavioral Workflow) precisely captures the root cause: the full Blockchain::rebranch() at blockchain/src/blockchain/push.rs:504-518 correctly performs all macro-state updates, but the light client's parallel implementation omitted this branch of logic. The affected CPE is the Rust crate nimiq/core-rs-albatross versions prior to 1.4.0.
Know when Checkpoint 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:N/UI:N/S:U/C:N/I:L/A:L
Primary rating from Vendor (github) · only source for this CVE.
CVSS VectorVendor: github
DescriptionCVE.org
Nimiq is a Rust implementation of the Nimiq Proof-of-Stake protocol based on the Albatross consensus algorithm. Prior to version 1.4.0, when LightBlockchain::rebranch() adopts a fork chain whose tip is a macro block (checkpoint or election), it only updates self.head but fails to update self.macro_head, self.election_head, self.current_validators, or store the election header in the chain_store. This is in direct contrast with the full Blockchain::rebranch() at blockchain/src/blockchain/push.rs:504-518, which correctly updates all macro/election state when the new head is a macro block. After a rebranch to a macro block, the stale macro_head causes subsequent macro blocks pushed via push() to be verified against the wrong predecessor via verify_macro_successor(&this.macro_head). If the rebranch target was an election block, the stale current_validators causes every subsequent block to fail verify_validators(), completely stalling the light client's chain progression. This issue has been patched in version 1.4.0.
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.
Related Vulnerabilities in Nimiq Consensus Protocol Implementation Flaws
View all 3More in Checkpoint
View allGNU Bash through 4.3 processes trailing strings after function definitions in the values of environment variables, which
Potentially allowing an attacker to read certain information on Check Point Security Gateways once connected to the inte
GNU Bash through 4.3 bash43-025 processes trailing strings after certain malformed function definitions in the values of
backend/comics/comics-document.c (aka the comic book backend) in GNOME Evince before 3.24.1 allows remote attackers to e
Remote code execution in Check Point Quantum Security Gateway arises from improper certificate trust validation during V
Authentication bypass in the Check Point SmartConsole login process lets an unauthenticated remote attacker mint a valid
Authentication bypass in Check Point Quantum Security Gateway and Spark Firewalls allows unauthenticated remote attacker
Unauthenticated attackers who can reach the file-upload interface of Check Point Management Server can combine directory
An OpenSSL TLS server may crash if sent a maliciously crafted renegotiation ClientHello message from a client. Rated med
Remote code execution in Check Point Quantum Security Gateway and Quantum Security Management stems from a heap-based bu
Unauthenticated remote code execution affects Check Point Quantum Security Management, where a stack-based buffer overfl
The huggingface/transformers library is vulnerable to arbitrary code execution through deserialization of untrusted data
NVD
CVE.org
EPSS
Vulnrichment
GitHub
Exploit-DB