CVE-2026-104432 Zebra 异常条件检查不当漏洞
影响节点落后于链尖时 /ready 接口仍返回 200 OK,导致就绪状态误报
Zebra 6.3.0 之前版本在 ChainSync::obtain_tips 中存在异常条件检查不当问题,会丢弃仅返回单个区块哈希的有效 FindBlocks 响应,从而错误地报告节点已接近链尖。当对等节点只返回下一个区块哈希时,同步样本长度为零,使 /ready 端点返回 200 OK,而节点实际仍落后于链尖。
影响范围
Zebra 6.3.0 之前的版本。具体受影响版本范围暂无更详细的公开信息。
漏洞详情
该漏洞属于异常条件检查不当(CWE-754)。ChainSync::obtain_tips 在处理对等节点返回的 FindBlocks 响应时,未正确识别仅包含一个区块哈希的有效响应,将其丢弃并产生零长度的同步样本。这导致节点误判自身已接近链尖,进而使 /ready 健康检查端点错误地返回 200 OK。
利用条件与风险
利用前提是节点与仅返回下一个区块哈希的对等节点通信。实战中可能导致依赖 /ready 端点的监控、负载均衡或编排系统误认为节点已同步就绪,从而将流量导向尚未追上链尖的节点,造成服务异常。
修复建议
官方已在 Zebra 6.3.0 中修复该问题,建议升级至 6.3.0 或更高版本。临时缓解措施暂无公开信息。
Zebra before 6.3.0 contains an improper exceptional condition check in ChainSync::obtain_tips that discards valid one-hash FindBlocks responses, falsely reporting close-to-tip status. Peers returning only the next block hash cause a zero-length sync sample, making the /ready endpoint return 200 OK while the node remains behind the tip.