CVE-2026-35468Nimiq core-rs-albatross是基于Albatross共识算法的Rust实现。在1.3.0版本之前,该软件的两个面向对等端的共识请求处理器存在逻辑缺陷。系统错误地假设历史索引始终可用,并在节点同步或无历史索引状态下直接调用unwrap()。远程攻击者可利用此漏洞发送特定请求,触发panic导致节点崩溃,从而引发拒绝服务攻击。
该漏洞的核心成因在于代码中对`HistoryStoreProxy::history_index()`返回值的处理逻辑存在疏漏。在`nimiq/core-rs-albatross`的设计中,`HistoryStoreProxy`在处于`WithoutIndex`状态时会显式返回`None`,这是一种合法的状态,常见于全节点正在执行数据同步或未完全加载历史索引的场景。然而,在1.3.0版本之前,开发人员错误地假设历史索引始终可用,未进行空值检查便直接调用了`.unwrap()`方法。攻击者无需经过身份认证,仅需作为远程peer向目标节点发送特定的共识请求消息,如`RequestTransactionsProof`或`RequestTransactionReceiptsByAddress`。一旦目标节点接收到这些请求并尝试处理,由于处于`WithoutIndex`状态,unwrap操作会立即触发panic异常,导致节点进程崩溃。这种未处理的异常中断了服务,构成了远程拒绝服务攻击风险,严重威胁网络安全。