gnark 的 Groth16 承诺扩展不适用于多个承诺(CVE-2024-45039)
CVE编号
CVE-2024-45039利用情况
暂无补丁情况
N/A披露时间
2024-09-06漏洞描述
gnark是一个快速ZK-SNARK库,提供高级API设计电路。在版本低于0.11.0的情况下,存在一个稳健性问题,如果在电路中使用多个承诺,证明者可以选择除最后一个承诺之外的所有承诺。由于gnark使用承诺进行优化的非原生乘法、查找检查等作为随机挑战,因此可能会影响整个电路的稳健性。然而,使用多个承诺会增加验证者的成本,因此并不推荐使用,并且在递归电路Groth16验证器和Solidity验证器中也不支持使用多个承诺。gnark的维护者预计该问题的影响非常小,仅针对已实现或正在使用带有多个承诺的原生Groth16验证器的用户。我们没有此类用户的信息。该问题已在版本0.11.0中得到修复。作为解决方案,用户应遵循gnark维护者的建议,只使用一个承诺,然后根据需要使用`std/multicommit`包生成电路内的承诺。解决建议
建议您更新当前系统或软件至最新版,完成漏洞的修复。
参考链接 |
|
---|---|
https://github.com/Consensys/gnark/commit/e7c66b000454f4d2a4ae48c005c34154d4cfc2a2 | |
https://github.com/Consensys/gnark/security/advisories/GHSA-q3hw-3gm4-w5cr |
- 攻击路径 N/A
- 攻击复杂度 N/A
- 权限要求 N/A
- 影响范围 N/A
- 用户交互 N/A
- 可用性 N/A
- 保密性 N/A
- 完整性 N/A
CWE-ID | 漏洞类型 |
Exp相关链接

版权声明
本站原创文章转载请注明文章出处及链接,谢谢合作!
评论