Katalog CVE

CVE-2026-34064

ŚrednieCVSS 5.3
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Niskie ryzyko
0.28%

Percentyl 20 - wyżej niż 20% wszystkich znanych CVE

Streszczenie

Biblioteka nimiq-account w wersjach przed 1.3.0 zawiera błąd w metodzie VestingContract::can_change_balance, która przy warunku new_balance < min_cap konstruuje błąd używając odejmowania self.balance - min_cap. Gdy min_cap > balance, operacja Coin::sub powoduje panikę (underflow), a atakujący może osiągnąć ten stan poprzez utworzenie kontraktu vestingowego z niezwalidowanym total_amount. Prowadzi to do awarii węzła podczas przyjmowania transakcji do mempoola i blokowania przetwarzania.

Ocena ryzyka

Atakujący może zdalnie doprowadzić do awarii węzła Nimiq, powodując odmowę usługi (DoS) i zakłócenie działania sieci. Wymaga to jedynie możliwości tworzenia kontraktów vestingowych i rozgłaszania transakcji.

Rekomendacja

Zaktualizuj bibliotekę nimiq-account do wersji 1.3.0 lub nowszej, która zawiera poprawkę. Brak znanych obejść — aktualizacja jest jedynym rozwiązaniem.

Powiązane podatności

Oryginalny opis (angielski, źródło NVD)

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.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS