CVE-2026-34064: CWE-191: Integer Underflow (Wrap or Wraparound) in nimiq nimiq-account
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.
AI Analysis
Technical Summary
The vulnerability in nimiq-account versions prior to 1.3.0 involves an integer underflow in the VestingContract::can_change_balance method. When the new balance is less than the minimum cap, the function attempts to return an AccountError::InsufficientFunds error by subtracting min_cap from the current balance. If min_cap is greater than balance, this subtraction underflows, causing a panic in the Coin::sub method. The attacker can create a vesting contract with a total_amount exceeding the actual contract balance due to lack of validation during contract creation. Subsequently, broadcasting an outgoing transaction triggers the panic during mempool admission and block processing, crashing the node. The issue is fixed in version 1.3.0.
Potential Impact
The vulnerability causes a denial of service condition by crashing the node when processing certain transactions involving malformed vesting contracts. There is no direct confidentiality or availability impact beyond the node crash, and no known exploits are reported in the wild. The impact is limited to integrity and availability disruption of the affected node.
Mitigation Recommendations
A fix for this vulnerability is available in nimiq-account version 1.3.0. Users should upgrade to version 1.3.0 or later to remediate this issue. No workarounds are known or recommended. Since this is not a cloud service, remediation depends on user action to apply the patch.
CVE-2026-34064: CWE-191: Integer Underflow (Wrap or Wraparound) in nimiq nimiq-account
Description
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.
AI-Powered Analysis
Machine-generated threat intelligence
Technical Analysis
The vulnerability in nimiq-account versions prior to 1.3.0 involves an integer underflow in the VestingContract::can_change_balance method. When the new balance is less than the minimum cap, the function attempts to return an AccountError::InsufficientFunds error by subtracting min_cap from the current balance. If min_cap is greater than balance, this subtraction underflows, causing a panic in the Coin::sub method. The attacker can create a vesting contract with a total_amount exceeding the actual contract balance due to lack of validation during contract creation. Subsequently, broadcasting an outgoing transaction triggers the panic during mempool admission and block processing, crashing the node. The issue is fixed in version 1.3.0.
Potential Impact
The vulnerability causes a denial of service condition by crashing the node when processing certain transactions involving malformed vesting contracts. There is no direct confidentiality or availability impact beyond the node crash, and no known exploits are reported in the wild. The impact is limited to integrity and availability disruption of the affected node.
Mitigation Recommendations
A fix for this vulnerability is available in nimiq-account version 1.3.0. Users should upgrade to version 1.3.0 or later to remediate this issue. No workarounds are known or recommended. Since this is not a cloud service, remediation depends on user action to apply the patch.
Technical Details
- Data Version
- 5.2
- Assigner Short Name
- GitHub_M
- Date Reserved
- 2026-03-25T16:21:40.867Z
- Cvss Version
- 3.1
- State
- PUBLISHED
- Remediation Level
- null
Threat ID: 69e9290319fe3cd2cde9559f
Added to database: 4/22/2026, 8:01:07 PM
Last enriched: 4/22/2026, 8:16:30 PM
Last updated: 4/22/2026, 11:36:12 PM
Views: 7
Community Reviews
0 reviewsCrowdsource mitigation strategies, share intel context, and vote on the most helpful responses. Sign in to add your voice and help keep defenders ahead.
Want to contribute mitigation steps or threat intel context? Sign in or create an account to join the community discussion.
Actions
Updates to AI analysis require Pro Console access. Upgrade inside Console → Billing.
Need more coverage?
Upgrade to Pro Console for AI refresh and higher limits.
For incident response and remediation, OffSeq services can help resolve threats faster.
Latest Threats
Check if your credentials are on the dark web
Instant breach scanning across billions of leaked records. Free tier available.