Skip to main content

Nimiq Albatross CVE-2026-46540

MEDIUM
Improper Enforcement of Behavioral Workflow (CWE-841)
2026-06-10 security-advisories@github.com
6.5
CVSS 3.1 · Vendor: github
View

Attack ChainAIDerived

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

  1. Access
    Connect to target light client as P2P peer
  2. Delivery
    Broadcast superior fork chain whose tip is an election macro block
  3. Exploit
    Client calls LightBlockchain::rebranch(), updates head only
  4. Execution
    macro_head, election_head, current_validators remain stale
  5. Persist
    All subsequent blocks fail verify_validators() against stale validator set
  6. Impact
    Light 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.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
No patch listed yet 0.0% exploitation probability (EPSS)

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

Alert me

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

Vendor (github) PRIMARY 6.5 MEDIUM
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

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

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

EPSS Score
0.0%
Top 89% exploitable
Social Media
1
Sightings
Data Quality
5 sources
Confidence: Medium

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 MEDIUM
CISA KEV No
Public POC No
EPSS 0.0%
Patch available No
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
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· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

32
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +32
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.

Related Vulnerabilities in Nimiq Consensus Protocol Implementation Flaws

View all 3
CVE-2014-6271 CRITICAL POC
9.8 Sep 24

GNU Bash through 4.3 processes trailing strings after function definitions in the values of environment variables, which

CVE-2024-24919 HIGH POC
8.6 May 28

Potentially allowing an attacker to read certain information on Check Point Security Gateways once connected to the inte

CVE-2014-7169 CRITICAL POC
9.8 Sep 25

GNU Bash through 4.3 bash43-025 processes trailing strings after certain malformed function definitions in the values of

CVE-2017-1000083 HIGH POC
7.8 Sep 05

backend/comics/comics-document.c (aka the comic book backend) in GNOME Evince before 3.24.1 allows remote attackers to e

CVE-2026-85102 CRITICAL POC
9.8 Sep 09

Remote code execution in Check Point Quantum Security Gateway arises from improper certificate trust validation during V

CVE-2026-16232 CRITICAL POC
9.3 Jul 22

Authentication bypass in the Check Point SmartConsole login process lets an unauthenticated remote attacker mint a valid

CVE-2026-50751 CRITICAL POC
9.3 Jun 08

Authentication bypass in Check Point Quantum Security Gateway and Spark Firewalls allows unauthenticated remote attacker

CVE-2026-93616 CRITICAL POC
9.8 Sep 22

Unauthenticated attackers who can reach the file-upload interface of Check Point Management Server can combine directory

CVE-2021-3449 MEDIUM
5.9 Mar 25

An OpenSSL TLS server may crash if sent a maliciously crafted renegotiation ClientHello message from a client. Rated med

CVE-2026-85103 CRITICAL POC
9.8 Sep 09

Remote code execution in Check Point Quantum Security Gateway and Quantum Security Management stems from a heap-based bu

CVE-2026-91843 CRITICAL POC
9.8 Sep 16

Unauthenticated remote code execution affects Check Point Quantum Security Management, where a stack-based buffer overfl

CVE-2024-3568 CRITICAL POC
9.6 Apr 10

The huggingface/transformers library is vulnerable to arbitrary code execution through deserialization of untrusted data

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