CVE-2026-34069nimiq/core-rs-albatross是基于Albatross共识算法的Nimiq权益证明协议的Rust实现。在1.2.2及以下版本中存在一个拒绝服务漏洞。未经身份验证的P2P对等节点可以发送恶意的RequestMacroChain消息,其中受害者主链上的第一个定位哈希被设置为微区块哈希。这会导致消息处理程序在尝试获取宏区块时触发panic并崩溃。官方已在1.3.0版本中修复了此问题。
该漏洞源于`RequestMacroChain`消息处理程序中存在的不安全解包操作。在处理P2P网络消息时,`RequestMacroChain::handle`函数负责根据提供的定位哈希获取宏区块。该函数首先验证哈希是否存在于主链上,但未进一步区分哈希类型(宏区块或微区块)。随后,代码调用`get_macro_blocks()`并直接使用`.unwrap()`期望获取有效结果。然而,若攻击者发送一个包含微区块哈希的恶意请求,`get_macro_blocks()`将返回`BlockchainError::BlockIsNotMacro`错误。由于`.unwrap()`遇到错误时会立即触发panic,导致整个处理任务异常终止。这种逻辑缺陷允许未经身份验证的攻击者远程破坏节点进程的稳定性。