漏洞概述 Zebra 4.4.0 版本包含多个安全修复和错误修复。主要的安全问题包括: 1. 修复签名计数漏洞(GHSA-jv4h-j224-23cc) 2. 共识分歧防御(GHSA-8m29-fqc5-89q) 3. 分配放大漏洞(GHSA-gqdh-3grw-2hmy, #10524) 4. RPC 硬化(#10523) 影响范围 签名计数漏洞:可能导致节点在处理无效 ZIP 244 哈希类型字节时崩溃。 共识分歧防御:VS sighash 回调现在替换为 per-call CSPRNG-derived sighash,防止无效签名验证失败。 分配放大漏洞:在网络序列化器中验证 coinbase Sapling 花费计数、coinbase 数据大小和 Equihash 解决方案大小,防止分配放大。 RPC 硬化:修复了 cookie 文件权限、HTTP 请求体边界、gRPC 索引器流等问题。 修复方案 1. 签名计数漏洞: - 修复了签名计数逻辑,确保在处理无效 ZIP 244 哈希类型字节时正确拒绝。 2. 共识分歧防御: - 修改 VS sighash 回调,使用 per-call CSPRNG-derived sighash,防止无效签名验证失败。 3. 分配放大漏洞: - 在网络序列化器中验证 coinbase Sapling 花费计数、coinbase 数据大小和 Equihash 解决方案大小,防止分配放大。 - 强制执行 160 字节的 read_headers 限制。 4. RPC 硬化: - 修复 cookie 文件权限,拒绝符号链接。 - 边界 HTTP 请求体,限制分配。 - 使用 代替背压服务器,减少缓冲区大小。 - 修复 的 TOCTOU 竞争条件。 - 断开持久返回空或坏 / 响应的对等节点。 其他改进 新增功能: - 添加了 字段到 verbose RPC 响应。 - 添加了公共基准测试仪表板。 变更: - 更新了 Sentry/OpenTelemetry 可观察性堆栈。 - 升级了 crate 集合。 - 增加了工作区 MSRV 从 1.85.0 到 1.85.1。 修复: - 现在报告正确的确认数。 贡献者 感谢所有贡献者:@alchemycd, @aryz2, @daira, @dependabot[bot], @gustavoalverdes, @oxarbitrage, @schell, @upbqdn 资产 无特定资产信息。 --- 总结:Zebra 4.4.0 版本通过多个安全修复和错误修复,增强了系统的稳定性和安全性,特别是针对签名计数、共识分歧、分配放大和 RPC 硬化等问题。建议节点运营商尽快更新到 4.4.0 版本。