CVE-2026-32605Nimiq/core-rs-albatross是基于Albatross共识算法的Nimiq权益证明协议的Rust实现。在1.3.0版本之前,该组件存在一个安全缺陷,允许未经信任的对等节点通过发送特制的Tendermint提案消息使验证者崩溃。漏洞根源在于`ProposalSender::send`函数对签名者的边界检查使用了错误的比较运算符,导致在签名验证之前触发数组越界访问,进而引发程序panic。攻击者无需认证即可利用此漏洞,对区块链网络的可用性造成严重影响。
该漏洞属于逻辑错误导致的内存越界访问。在处理Tendermint提案消息时,代码需验证`signer`索引是否在有效范围内(即0到`num_validators - 1`)。然而,`ProposalSender::send`函数中使用了大于号(`>`)而非大于等于号(`>=`)进行比较。当攻击者构造一个`signer`值恰好等于`validators.num_validators()`的消息时,该检查被错误地通过。随后,代码调用`validators.get_validator_by_slot_band(signer)`尝试获取验证者信息。由于该索引超出了数组边界,Rust程序触发panic并终止。关键在于,这一崩溃发生在签名验证逻辑之前,因此攻击者无需拥有有效私钥即可远程发动攻击,导致验证者节点服务中断。