{"id":"CVE-2026-40094","summary":"nimiq-blockchain: network-libp2p untrusted peer can crash address book via empty peer contact addresses","details":"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.","aliases":["GHSA-c45m-6x25-3cjq"],"modified":"2026-08-07T11:50:16.819458946Z","published":"2026-05-20T21:27:40.862Z","database_specific":{"cna_assigner":"GitHub_M","cwe_ids":["CWE-754"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/40xxx/CVE-2026-40094.json"},"references":[{"type":"WEB","url":"https://github.com/nimiq/core-rs-albatross/releases/tag/v1.4.0"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/40xxx/CVE-2026-40094.json"},{"type":"ADVISORY","url":"https://github.com/nimiq/core-rs-albatross/security/advisories/GHSA-c45m-6x25-3cjq"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-40094"},{"type":"FIX","url":"https://github.com/nimiq/core-rs-albatross/pull/3715"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/nimiq/core-rs-albatross","events":[{"introduced":"0"},{"fixed":"e156ecc4a14377eb3e4b71f340a8ae905b9864b2"}],"database_specific":{"extracted_events":[{"introduced":"0"},{"fixed":"1.4.0"}],"source":["AFFECTED_FIELD","REFERENCES"]}}],"versions":["v1.3.0","v1.2.2","v1.2.1","v1.2.0","v1.1.1","v1.1.0","v1.0.9","v1.0.8","v1.0.7","v1.0.6","v1.0.5","v1.0.4","v1.0.3","v1.0.2","v1.0.1","v1.0.0","v1.0.0-rc.5","v1.0.0-rc.4","v1.0.0-rc.3","v1.0.0-rc.2","v1.0.0-rc.1","v1.0.0-rc.0","v0.24.4","v0.24.3","v0.24.2","v0.24.1","v0.24.0","v0.23.0","v0.22.3","v0.22.2","v0.22.1","v0.22.0","v0.21.1","v0.21.0","v0.20.5","v0.20.4","v0.20.3","v0.20.2","v0.20.1","v0.20.0","v0.19.0","v0.18.0","v0.17.0","v0.16.1","v0.16.0","v0.15.0","v0.14.0","v0.13.1","v0.13.0","v0.12.1","v0.12.0","v0.11.5","v0.11.4","v0.11.3","v0.11.2","v0.11.1","v0.11.0","v0.10.0","v0.9.0","v0.8.3","v0.8.2","v0.8.1","v0.8.0","v0.7.0","v0.6.0","v0.5.4","v0.5.3","v0.5.2","v0.5.1","v0.5.0","v0.4.1","v0.4.0","v0.3.3","v0.3.2","v0.3.1","v0.3.0","v0.2.2","v0.2.1","v0.2.0","v0.1.0","v0.1.0-rc.3","v0.1.0-rc.2","v0.1.0-rc.1","v0.1.0-rc.0"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-40094.json"}}],"schema_version":"1.8.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:N/I:N/A:L"}]}