Read the docs
TI-2026-26389 Aliases CVE-2026-34064GHSA-vc34-39q2-m6q3

nimiq-account: Vesting insufficient funds error can panic

Priority MEDIUM 41CWE-191Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
None
Attack complexity
Low
Impact type
—
Confidentiality · integrity · availability
None · Low · High
Fix status
Fixed

Attack profile from CVSS 3.1 · NVD. Fix status from CNA and GitHub.

Summary

nimiq-account contains account primitives to be used in Nimiq's Rust implementation. Prior to version 1.3.0, `VestingContract::can_change_balance` returns `AccountError::InsufficientFunds` when `new_balance < min_cap`, but it constructs the error using `balance: self.balance - min_cap`. `Coin::sub` panics on underflow, so if an attacker can reach a state where `min_cap > balance`, the node crashes while trying to return an error. The `min_cap > balance` precondition is attacker-reachable because the vesting contract creation data (32-byte format) allows encoding `total_amount` without validating `total_amount <= transaction.value` (the real contract balance). After creating such a vesting contract, the attacker can broadcast an outgoing transaction to trigger the panic during mempool admission and block processing. The patch for this vulnerability is included as part of v1.3.0. No known workarounds are available.

Why it matters now

Exploitation None reported CISA SSVC · not in CISA KEV
EPSS 0.00275 19th percentileScored 2026-11-07
Fix Fixed nimiq-account (nimiq): 1.3.0

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
None
Automatable
Yes
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
nimiqnimiq-accountbefore 1.3.01.3.0Patch availableCNA
—nimiq-account (crates.io)up to 0.2.0—No fix listedGHSA-vc34-39q2-m6q3
  • nimiq-account Vendornimiq Affected before 1.3.0 Fixed in 1.3.0 Patch available CNA
  • nimiq-account (crates.io) Vendor— Affected up to 0.2.0 Fixed in — No fix listed GHSA-vc34-39q2-m6q3

CPE configurations NVD · 1

CPEVersionsRoleVendor
cpe:2.3:a:nimiq:nimiq_proof-of-stake:*:*:*:*:*:rust:*:*before 1.3.0Vulnerablenimiq
  • cpe:2.3:a:nimiq:nimiq_proof-of-stake:*:*:*:*:*:rust:*:* Versions before 1.3.0 Vulnerable ·nimiq

Remediation

  • Fix · CNA nimiq-account (nimiq) Fixed in 1.3.0

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-34064
  2. 2026-10-03 Alias added: GHSA-vc34-39q2-m6q3

References

  • TI-2026-25867 nimiq-block has skip block quorum bypass via out-of-range BitSet indices & u16 truncation CVSS 3.1CRITICAL 9.6
  • TI-2026-27598 nimiq/core-rs-albatross: Panic in history index request handlers when a full node runs without the history index CVSS 3.1HIGH 7.5
  • TI-2026-26390 nimiq-primitives: Node crash due to missing interlink validation in election macro block proposals CVSS 3.1HIGH 7.5
  • TI-2026-26388 network-libp2p: Peer can crash the node by opening discovery protocol substream twice CVSS 3.1HIGH 7.5
  • TI-2026-25612 nimiq/core-rs-albatross: Discovery handshake limit could underflow and later provoke a deterministic overflow panic CVSS 3.1HIGH 7.5
  • TI-2026-25114 Nimiq: Remote crash via off-by-one signer bounds check in proposal buffer CVSS 3.1HIGH 7.5
See all 14 →

Sources