漏洞总结 漏洞概述 漏洞名称: 无效选举宏块验证器投票密钥导致的崩溃 漏洞描述: 未经验证的节点可以宣布一个包含无效压缩BLS投票密钥的选举宏块。节点在调用 时可能会崩溃,因为 和 返回 而不是 。 修复方案: - 将 和 的返回值改为 而不是 。 - 在哈希之前调用 以显式验证。 - 在哈希之前调用 以处理验证失败。 - 在 TendermintProof 和 DoubleVoteProof 验证中优雅地处理解压缩失败。 影响范围 影响模块: - - - - - - - 修复方案 代码变更: - 在 中添加对无效块的验证。 - 在 中添加对无效BLS投票密钥的验证。 - 在 中添加对无效BLS投票密钥的验证。 - 在 中添加对无效BLS投票密钥的验证。 - 在 中添加对无效BLS投票密钥的验证。 - 在 中添加对无效BLS投票密钥的验证。 - 在 中添加对无效BLS投票密钥的验证。 POC代码