CVE-2026-34064: nimiq-account Vesting Insufficient Funds Error Can Vulnerability

MODERATE
Advisory Identifier: GHSA-vc34-39q2-m6q3
CVSS 5.3
CWE-191
Published
Advisory Summary

CVE-2026-34064 is a MODERATE (CVSS 5.3) vesting insufficient funds error can vulnerability (CWE-191: Integer Underflow (Wrap or Wraparound)) affecting nimiq-account libraries in the crates.io ecosystem. The issue involves vesting insufficient funds error can panic. Remediation is available in the latest vendor maintenance releases.

CVE-2026-34064 at a Glance

CVE Identifier CVE-2026-34064
GHSA Identifier GHSA-vc34-39q2-m6q3
Severity MODERATE
CVSS v3.1 Base Score 5.3
CWE Classification CWE-191: Integer Underflow (Wrap or Wraparound)
Affected Product nimiq-account
Package Ecosystem crates.io
Published Date
Last Updated

Security Impact

CVSS: 5.3

The security impact metrics below are parsed directly from the CVSS v3.1 vector string (CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N).

Attack Vector Network (AV:N)
Attack Complexity Low (AC:L)
Privileges Required None (PR:N)
User Interaction None (UI:N)
Scope Unchanged (S:U)
Confidentiality None (C:N)
Integrity Low (I:L)
Availability None (A:N)

How to Fix CVE-2026-34064

To remediate this vulnerability, upgrade all affected nimiq-account dependencies to a patched release. Both direct and transitive dependencies should be checked, as frameworks or security libraries may pull in vulnerable versions transitively.

nimiq-account fixed: Latest secure release
Upgrade nimiq-account to Latest secure release
Verify Direct and Transitive Dependencies

Run the following command in your project directory to verify that all resolved dependencies use the patched release:

inspect dependencies for nimiq-account

How to Check if You Are Affected

To determine whether your application is affected by CVE-2026-34064, inspect your project dependencies for nimiq-account:

inspect dependencies for nimiq-account

Analyze the terminal output to locate any version of nimiq-account in your dependency tree. If any resolved version matches the vulnerable ranges listed in the table below (for example, versions earlier than the patched release), your application is affected.

Note: Verify declared build manifests and deployed runtime container environments.

Technical Details

Vulnerability Mechanism & Technical Analysis

This vulnerability is classified under CWE-191: Integer Underflow (Wrap or Wraparound), where the product subtracts one value from another, such that the result is less than the minimum allowable integer value, which produces a value that is not equal to the correct result. In nimiq-account, software state validation or input boundaries are circumvented during processing. Review the official source advisory statement below for specific affected components, classes, and reproduction details.

Source Advisory Statement

### Impact `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. ### Patches [The patch for this vulnerability](https://github.com/nimiq/core-rs-albatross/commit/4d01946f0b3d6c6e31786f91cdfb3eb902908da0) is included as part of [v1.3.0](https://github.com/nimiq/core-rs-albatross/releases/tag/v1.3.0). ### Workarounds No known workarounds.

CVE-2026-34064 Affected nimiq-account Versions

1 component(s)
Product / Package Ecosystem Affected Versions Fixed Version
nimiq-account
crates.io
≤ 0.2.0

References

Frequently Asked Questions

What is CVE-2026-34064?
CVE-2026-34064 is a security vulnerability in nimiq-account involving Vesting insufficient funds error can panic under CWE-191: Integer Underflow (Wrap or Wraparound).
Which nimiq-account versions are affected?
Affected versions include releases prior to current release patches across affected packages: nimiq-account.
What version fixes CVE-2026-34064?
Upgrading to current release patches (or the latest patched release for your respective branch) resolves the vulnerability.
Is nimiq-account affected?
Yes, nimiq-account is affected in releases prior to Latest secure release. Upgrade your dependency to Latest secure release or later.
What is the CVSS score of CVE-2026-34064?
CVE-2026-34064 has a CVSS v3.1 base score of 5.3 (MODERATE) with vector string CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N.
What CWE is associated with CVE-2026-34064?
CVE-2026-34064 is classified under CWE-191: Integer Underflow (Wrap or Wraparound) (The product subtracts one value from another, such that the result is less than the minimum allowable integer value, which produces a value that is not equal to the correct result.).
How can I check crates.io dependencies for CVE-2026-34064?
Run the dependency tree command: 'inspect dependencies for nimiq-account'. This command lists direct and transitive dependencies in your build configuration so you can verify if a vulnerable version is resolved.
Machine-readable OSV JSON OSV v1.5 Schema
Normalized schema output
{
  "schema_version" : "1.4.0",
  "id" : "GHSA-vc34-39q2-m6q3",
  "modified" : "2026-04-27T16:22:14Z",
  "published" : "2026-04-22T19:18:55Z",
  "aliases" : [ "CVE-2026-34064" ],
  "summary" : "nimiq-account: Vesting insufficient funds error can panic",
  "details" : "### Impact\n`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.\n\nThe `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.\n\n### Patches\n[The patch for this vulnerability](https://github.com/nimiq/core-rs-albatross/commit/4d01946f0b3d6c6e31786f91cdfb3eb902908da0) is included as part of [v1.3.0](https://github.com/nimiq/core-rs-albatross/releases/tag/v1.3.0).\n\n### Workarounds\nNo known workarounds.",
  "severity" : [ {
    "type" : "CVSS_V3",
    "score" : "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:L/A:N"
  } ],
  "affected" : [ {
    "package" : {
      "ecosystem" : "crates.io",
      "name" : "nimiq-account"
    },
    "ranges" : [ {
      "type" : "ECOSYSTEM",
      "events" : [ {
        "introduced" : "0"
      }, {
        "last_affected" : "0.2.0"
      } ]
    } ]
  } ],
  "references" : [ {
    "type" : "WEB",
    "url" : "https://github.com/nimiq/core-rs-albatross/security/advisories/GHSA-vc34-39q2-m6q3"
  }, {
    "type" : "ADVISORY",
    "url" : "https://nvd.nist.gov/vuln/detail/CVE-2026-34064"
  }, {
    "type" : "WEB",
    "url" : "https://github.com/nimiq/core-rs-albatross/pull/3658"
  }, {
    "type" : "WEB",
    "url" : "https://github.com/nimiq/core-rs-albatross/commit/4d01946f0b3d6c6e31786f91cdfb3eb902908da0"
  }, {
    "type" : "PACKAGE",
    "url" : "https://github.com/nimiq/core-rs-albatross"
  }, {
    "type" : "WEB",
    "url" : "https://github.com/nimiq/core-rs-albatross/releases/tag/v1.3.0"
  } ],
  "database_specific" : {
    "cwe_ids" : [ "CWE-191" ],
    "severity" : "MODERATE",
    "github_reviewed" : true,
    "github_reviewed_at" : "2026-04-22T19:18:55Z",
    "nvd_published_at" : "2026-04-22T20:16:40Z"
  }
}