CVE-2026-40092 json
nimiq-keys: Unchecked Ed25519 signature length in TaggedPublicKey::verify causes remote node panic via DHT
published 2026-05-15 5 mo ago modified 2026-07-23 3 mo ago also EUVD-2026-31197 , GHSA-27w2-87xv-37c6
- cvss
- 7.5
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.6%
- EPSS 0.6% chance of exploitation in 30 days, percentile 50%
- public exploits
- 0
- none known
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.
Patch / fix
- nimiq core-rs-albatross 1.4.0
CISA SSVC
- Exploitation
- none
- Automatable
- yes
- Technical impact
- partial
- Assessed
- 5 mo ago
Exploit prediction
0.63% chance of exploitation in the next 30 days, higher than 50% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
| GitHub | 3.1 | 7.5 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| crates.io | nimiq-keys | <=0.2.0 |
no fix listed |
Affected products
- nimiq core-rs-albatross
Classification
- Weakness
-
- CWE-252 Unchecked Return Value
References
-
github.com
/nimiq/core-rs-albatross/pull/3708
web
-
github.com
/nimiq/core-rs-albatross/commit/807ee8e99a7ccdc604d49971f292854bfa36754d
web
-
github.com
/nimiq/core-rs-albatross/security/advisories/GHSA-27w2-87xv-37c6
web
-
github.com
/nimiq/core-rs-albatross/releases/tag/v1.4.0
web
-
nvd.nist.gov
/vuln/detail/CVE-2026-40092
advisory
-
github.com
/nimiq/core-rs-albatross
package
Sources
- CVE List CVE-2026-40092
- GitHub Advisory GHSA-27w2-87xv-37c6
- NVD CVE-2026-40092
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Added CPE configurations because not yet analyzed by NVD.