CVE-2024-45039 in gnarkinfo

Zusammenfassung

von VulDB • 21.05.2026

gnark ist eine schnelle zk-SNARK-Bibliothek, die eine High-Level-API zum Entwerfen von Schaltungen (Circuits) bietet. Versionen vor 0.11.0 weisen ein Problem mit der Soundness auf: Bei der Verwendung mehrerer Commitments innerhalb der Schaltung kann der Prover alle Commitments außer dem letzten auswählen. Da gnark die Commitments für optimierte nicht-einheimische Multiplikationen, Lookup-Prüfungen usw. als zufällige Herausforderungen (Random Challenges) verwendet, kann dies die Soundness der gesamten Schaltung beeinträchtigen. Die Verwendung mehrerer Commitments wurde jedoch aufgrund der zusätzlichen Kosten für den Verifier abgeraten und wurde im rekursiven Groth16-Verifier in der Schaltung sowie im Solidity-Verifier nicht unterstützt. Die Maintainer von gnark gehen davon aus, dass die Auswirkungen des Problems sehr gering sind – sie betreffen nur Benutzer, die den einheimischen Groth16-Verifier implementiert haben oder ihn mit mehreren Commitments verwenden. Es liegen keine Informationen über solche Benutzer vor. Das Problem wurde in Version 0.11.0 behoben. Als Workaround sollten Benutzer der Empfehlung der gnark-Maintainer folgen, nur ein einzelnes Commitment zu verwenden und dann erforderliche Commitments in der Schaltung mithilfe des Pakets `std/multicommit` abzuleiten.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Zuständig

GitHub M

Reservieren

21.08.2024

Veröffentlichung

06.09.2024

Moderieren

akzeptiert

Eintrag

VDB-276720

CPE

bereit

EPSS

0.00190

KEV

nein

Aktivitäten

very low

Quellen

Interested in the pricing of exploits?

See the underground prices here!