从这个网页截图中,可以获取到以下关于漏洞的关键信息: 1. 漏洞描述: - 漏洞名称:Commitments to private witnesses in Groth16 as implemented break zero-knowledge property - 报告者:@maltezellic - 漏洞描述:Groth16证明器在使用承诺时(如在frontend.Committer中),当使用私有见证者时,会破坏零知识属性。承诺到私有见证者的计算公式为 \( c = \sum_i w_i b_i \),其中 \( b_i \) 是证明密钥的一部分。攻击者可以通过计算 \( c' \) 来验证承诺的正确性,从而破坏零知识属性。 2. 受影响版本: - 受影响版本:=v0.11.0 3. 漏洞影响: - 漏洞影响:仅影响Groth16证明器中的承诺。PLONK证明器不受影响。 - 漏洞影响:漏洞破坏了零知识属性,如果见证者的值较小,攻击者可以枚举所有可能的选择来推断实际值。如果可能的选择范围较大或有多个值被承诺,计算上不可行。 4. 修复措施: - 修复措施:已修复在#1245中。修复了在证明时间添加额外随机值到承诺值的列表,以遮蔽其他值。 5. 工作绕过: - 工作绕过:用户可以手动承诺到一个随机值。 6. 漏洞严重性: - 严重性:中等(5.9/10) 7. 漏洞细节: - 漏洞细节**:漏洞利用了Groth16证明器在使用私有见证者时的计算方式,破坏了零知识属性。修复措施是通过在证明时间添加额外随机值来遮蔽其他值。 这些信息可以帮助理解漏洞的性质、影响范围以及修复措施。