Executive brief
Nimiq is a blockchain protocol implementation. A flaw in how it handles multi-signature (multisig) wallet operations allows an attacker to crash a user's wallet application. To exploit this, an attacker must convince a user to include a specially crafted, invalid public key in a multisig transaction setup. While this can disrupt the user's ability to perform transactions, it does not affect the security of the underlying blockchain or validator nodes.
Technical details
A denial-of-service vulnerability exists in the Ed25519 multisig delinearization code path within the `nimiq-keys` crate. The `Ed25519PublicKey::delinearize()` function in `keys/src/multisig/mod.rs` and the `Commitment::From<[u8; 32]>` implementation improperly used `.unwrap()` on curve point decompression. Because public key construction only validated byte length rather than curve membership, an attacker can provide 32 bytes that do not represent a valid Ed25519 point, triggering a panic and process crash. This is reachable via untrusted input in wallet and web-client multisig flows but does not affect consensus or validator nodes. The issue is fixed in version 1.4.0 by replacing panics with proper error propagation.
Affected products
- Nimiq Nimiq core-rs-albatross <= 1.3.0
- Nimiq nimiq-keys <= 1.3.0
Timeline
- 2026-04-22: patched: Fix merged in PR 3713 and released in v1.4.0
- 2026-05-15: advisory: GitHub Security Advisory published
- 2026-06-10: disclosed: CVE published to NVD