CVE-2026-44498ZEBRA是一个完全用Rust编写的Zcash节点。在4.4.0版本之前,其区块验证器低估了透明签名操作的数量,导致违反20000个签名操作限制的区块被接受。这使得ZEBRA节点能够接受zcashd节点拒绝的区块。攻击者利用此漏洞可制造分裂网络的区块,导致ZEBRA节点和zcashd节点跟随不同的链。
该漏洞源于ZEBRA区块验证逻辑中的实现缺陷。ZEBRA在验证区块时,未能正确计算区块内的透明签名操作数量。根据Zcash协议规范,区块内的签名操作总数不得超过MAX_BLOCK_SIGOPS(通常为20000)。由于计数逻辑错误,恶意矿工可以构建包含超过签名操作限制的区块。当ZEBRA节点处理此类区块时,由于计数不足,验证通过并接受该区块;而遵循正确实现的zcashd节点会检测到违规并拒绝该区块。这种验证的不一致性导致了区块链网络的共识分歧,形成分叉。攻击者可通过控制矿工算力,持续挖掘此类违规区块,从而人为地导致网络分裂,破坏网络的完整性和可用性。