nimiq-keys: Unchecked Ed25519 signature length in TaggedPublicKey::verify causes remote node panic via DHT
Key facts
- Attack vector
- Network
- Privileges required
- None
- User interaction
- None
- Attack complexity
- Low
- Impact type
- —
- Confidentiality · integrity · availability
- None · None · High
- Fix status
- Fixed
Attack profile from CVSS 3.1 · CNA. Fix status from CNA and GitHub.
Summary
nimiq-blockchain provides persistent block storage for Nimiq's Rust implementation. In versions 1.3.0 and below, a malicious network peer can crash any Nimiq full node by publishing a crafted Kademlia DHT record. The maliciously crafted record would contain a TaggedSigned<ValidatorRecord, KeyPair> with a signature field whose byte length is not exactly 64 in order to cause a crash. When the victim node's DHT verifier calls TaggedSigned::verify, execution reaches Ed25519Signature::from_bytes(sig).unwrap() in the TaggedPublicKey implementation for Ed25519PublicKey. The from_bytes call fails because ed25519_zebra::Signature::try_from rejects slices not 64 bytes, and the unwrap() panics. The BLS TaggedPublicKey implementation correctly returns false on error; only the Ed25519 implementation panics. This issue has been fixed in version 1.4.0.
Why it matters now
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
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| nimiq | core-rs-albatross | before 1.4.0 | 1.4.0 | Patch available | CNA |
| — | nimiq-keys (crates.io) | up to 0.2.0 | — | No fix listed | GHSA-27w2-87xv-37c6 |
- core-rs-albatross Vendornimiq Affected before 1.4.0 Fixed in 1.4.0 Patch available CNA
- nimiq-keys (crates.io) Vendor— Affected up to 0.2.0 Fixed in — No fix listed GHSA-27w2-87xv-37c6
Remediation
- Fix · CNA core-rs-albatross (nimiq) Fixed in 1.4.0
Timeline
- 2026-10-02 Threatist record created from CVE-2026-40092
- 2026-10-03 Alias added: GHSA-27w2-87xv-37c6
- 2026-10-25 EPSS moved to the below the 50th percentile
- 2026-10-31 EPSS moved to the 50th–90th percentile
References
Other 5
- https://github.com/nimiq/core-rs-albatross/security/advisories/GHSA-27w2-87xv-37c6
- https://github.com/nimiq/core-rs-albatross/pull/3708
- https://github.com/nimiq/core-rs-albatross/commit/807ee8e99a7ccdc604d49971f292854bfa36754d
- https://github.com/nimiq/core-rs-albatross/releases/tag/v1.4.0
- https://github.com/nimiq/core-rs-albatross
More nimiq vulnerabilities
- TI-2026-26389 nimiq-account: Vesting insufficient funds error can panic CVSS 3.1HIGH 8.2
- 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-34086 Nimiq: Validity store off by one error CVSS 3.1HIGH 7.5
- TI-2025-29800 nimiq-network-libp2p Uncontrolled Resource Consumption vulnerability CVSS 3.1HIGH 7.5
- TI-2026-34224 nimiq-primitives: Panic DoS in trie chunk processing via ROOT-keyed item CVSS 3.1HIGH 7.5
- TI-2026-34220 Nimiq network-libp2p: DHT query poisoning via first-record verification failure CVSS 3.1HIGH 7.5
Sources
- CVE-2026-40092 · CVE Program
- CVE-2026-40092 · NVD
- FIRST EPSS
- GHSA-27w2-87xv-37c6 · GitHub Advisory Database · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences