RISC Zero平台中的不合约漏洞CVE-2025-54873
RISC Zero是一个开源的zkVM平台,平台能够帮助开发人员使用流行的编程语言(如 Rust、Go、C++ 等)构建零知识(ZK)应用程序。
一、基本情况
RISC Zero 正在使用零知识证明技术和 RISC-V zkVM 构建下一代可扩展区块链,该平台可为未来的去中心化应用提供强大的基础设施层。
RISC Zero 允许习惯使用 Rust、Go、C++ 和其他标准编程语言的开发人员编写链上去中心化应用程序,无需从头学习整个 ZK 生态系统。
栋科技漏洞库关注到RISC Zero开源平台中存在一个安全漏洞,该漏洞现在已经被追踪为CVE-2025-54873,漏洞的CVSS 4.0评分为2.7。
二、漏洞分析
CVE-2025-54873漏洞是RISC Zero平台中存在的安全漏洞,漏洞是使用Veridise的Picus工具发现的,具体来说该漏洞其实包含两个问题。
对于带符号整数除法的一些输入,电路允许两个输出,其中只有一个有效;此外被零除的结果约束不足,建议所有受影响用户尽快升级。
简而言之,RISC Zero是一个基于zk-STARKs和RISC-V微体系结构的零知识可验证通用计算平台,CVE-2025-54873是其存在的低危漏洞。
漏洞影响RISC软件包risc0-zkvm版本2.0.0至2.1.0以及risc0-circuit-rv32im和risc0-circuit-rv32im-sys版本2.0.0至2.0.4,漏洞影响相对较小。
具体来说,该漏洞的存在源于受影响版本其中有符号整数除法允许某些输入有多个输出,但只有一个有效,并且被零除的结果约束不足。
受影响的链上验证器已经通过验证器管理设计中概述的estop机制被禁用。
使用版本低于2.2的risc0-zkvm机箱的Rust应用程序应升级到版本2.2.0或更高版本。
使用官方RISC Zero Verifier路由器的智能合约应用不需要采取任何动作:zkVM版在所有官方路由器上都是活动的,2.1版已经被禁用。
不使用验证器路由器的智能合约应用程序应该更新它们的合约,以便向2.2版本的验证器发送验证调用。
三、影响范围
risc0-circuit-rv32im(Rust ) >= 2.0,< 3.0
risc0-circuit-rv32im-sys(Rust ) >= 2.0,< 3.0
risc0-zkvm(Rust ) >= 2.0,< 2.2
四、修复建议
risc0-circuit-rv32im(Rust ) 3.0.0
risc0-circuit-rv32im-sys(Rust ) > 3.0.0
risc0-zkvm(Rust )> 2.2.0
五、参考链接
