Succinct的SP1零知识证明系统近期曝出高危严重性漏洞,涉及其主网Prover Network的验证机制。根据10月11日发布的GitHub安全公告,该漏洞属于健全性缺陷,可能导致系统接受无效的计算证明。
受影响版本为6.0.0至6.8.0,其中原生Rust验证器存在缺陷,可能接受恶意提交的无效证明。攻击者若直接向该验证器发送伪造数据,可绕过完整性校验。此问题仅影响通过特定路径处理的Core和Compressed类型证明,而链上使用的Groth16与Plonk检查机制未受波及。
SP1系统使用“张量”结构存储多维数据,由缓冲区内容与维度声明组成。验证过程本应确保元素数量与维度乘积一致,但原验证器仅依赖外部标签信息,未核对实际数据大小。攻击者借此篡改标签,使不合法的数据结构通过验证。
在6.8.1版本中,Succinct引入了反序列化阶段的长度校验逻辑,任何张量若元素总数与声明维度不符,将被立即拒绝,从而彻底堵住漏洞。
尽管漏洞公告于10月11日公开,但修复补丁早在9月24日就已发布并部署至主网。目前,Succinct已完成对Prover Network的更新,所有正常请求无需额外操作。
然而,自建验证节点且接收来自不可信来源证明的用户,必须尽快升级至6.8.1或更高版本,以防止潜在风险。
该漏洞由安全研究人员Vitalis Salis通过Immunefi平台报告,并获得相应奖励,体现了社区驱动的安全响应机制价值。