nimiq-keys: Unchecked Ed25519 signature length in TaggedPublicKey::verify causes remote node panic via DHT
High severity
GitHub Reviewed
Published
May 15, 2026
in
nimiq/core-rs-albatross
•
Updated Jun 8, 2026
Description
Published to the GitHub Advisory Database
May 15, 2026
Reviewed
May 15, 2026
Published by the National Vulnerability Database
May 20, 2026
Last updated
Jun 8, 2026
Impact
A malicious network peer can crash any Nimiq full node by publishing a crafted Kademlia DHT record containing a
TaggedSigned<ValidatorRecord, KeyPair>with a signature field whose byte length is not exactly 64. When the victim node's DHT verifier callsTaggedSigned::verify, execution reachesEd25519Signature::from_bytes(sig).unwrap()in theTaggedPublicKeyimplementation forEd25519PublicKey. Thefrom_bytescall fails becauseed25519_zebra::Signature::try_fromrejects slices not 64 bytes, and theunwrap()panics. The BLSTaggedPublicKeyimplementation correctly returnsfalseon error; only the Ed25519 implementation panics.Patches
The patch for this vulnerability is formally released as part of v1.4.0.
Workarounds
No known workarounds.
Resources
See PR.
References