nimiq-blockchain provides persistent block storage for Nimiq's Rust implementation. In versions 1.3.0 and prior, network-libp2p discovery accepts signed PeerContact updates from untrusted peers and stores them in a peer contact book, eventually leading to address book crash. A PeerContact can legally contain an empty addresses list (no intrinsic validation enforces non-empty). Later, PeerContactBook::known_peers builds an address book by taking addresses.first().expect("every peer should have at least one address"). If the attacker has inserted a signed peer contact with addresses=[], any call to get_address_book (RPC/web client) can panic and crash the node/RPC task depending on panic settings. This issue has been fixed in version 1.4.0.
Metrics
Affected Vendors & Products
References
History
Wed, 20 May 2026 22:45:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Nimiq
Nimiq core-rs-albatross |
|
| Vendors & Products |
Nimiq
Nimiq core-rs-albatross |
Wed, 20 May 2026 21:45:00 +0000
| Type | Values Removed | Values Added |
|---|---|---|
| Description | nimiq-blockchain provides persistent block storage for Nimiq's Rust implementation. In versions 1.3.0 and prior, network-libp2p discovery accepts signed PeerContact updates from untrusted peers and stores them in a peer contact book, eventually leading to address book crash. A PeerContact can legally contain an empty addresses list (no intrinsic validation enforces non-empty). Later, PeerContactBook::known_peers builds an address book by taking addresses.first().expect("every peer should have at least one address"). If the attacker has inserted a signed peer contact with addresses=[], any call to get_address_book (RPC/web client) can panic and crash the node/RPC task depending on panic settings. This issue has been fixed in version 1.4.0. | |
| Title | nimiq-blockchain: network-libp2p untrusted peer can crash address book via empty peer contact addresses | |
| Weaknesses | CWE-754 | |
| References |
| |
| Metrics |
cvssV3_1
|
Status: PUBLISHED
Assigner: GitHub_M
Published:
Updated: 2026-05-20T21:27:40.862Z
Reserved: 2026-04-09T01:41:38.536Z
Link: CVE-2026-40094
No data.
Status : Received
Published: 2026-05-20T22:16:36.993
Modified: 2026-05-20T22:16:36.993
Link: CVE-2026-40094
No data.
OpenCVE Enrichment
Updated: 2026-05-20T22:30:40Z