漏洞概述 该漏洞涉及在 签名验证过程中,未对签名索引进行范围检查,导致攻击者可以构造出超出有效范围的签名索引,从而绕过某些验证逻辑。具体影响包括: Quorum Bypass:通过构造出错的签名索引,攻击者可以绕过 、 和 的验证。 签名计数膨胀:攻击者可以通过构造出错的签名索引,使签名计数看起来比实际多,从而绕过基于签名数量的验证逻辑。 影响范围 TendermintProof:验证区块生成的证明。 SkipBlockProof:验证跳过块的证明。 DoubleVoteProof:验证双重投票的证明。 修复方案 修复方案是在所有涉及 的验证路径中添加一个 函数,该函数会验证所有 条目是否在有效范围内。具体修改如下: 1. 添加 函数: 2. 在 验证中使用 : 3. 在 验证中使用 : 4. 在 验证中使用 : 通过这些修改,确保了所有 条目都在有效范围内,从而防止了上述漏洞的利用。