CVE-2024-45040 in gnarkinfo

Zusammenfassung

von VulDB • 04.06.2026

gnark ist eine schnelle zk-SNARK-Bibliothek, die eine High-Level-API zum Entwerfen von Schaltungen bietet. Vor Version 0.11.0 bricht die Implementierung von Commitments zu privaten Zeugen in Groth16 das Zero-Knowledge-Prinzip (Zero-Knowledge-Eigenschaft). Die Schwachstelle betrifft nur Groth16-Beweise mit Commitments. Insbesondere PLONK-Beweise sind nicht betroffen.

Die Schwachstelle beeinträchtigt die Zero-Knowledge-Eigenschaft der Beweise: Wenn die Zeugenwerte (geheim oder intern) klein sind, kann ein Angreifer möglicherweise alle möglichen Kombinationen aufzählen, um den tatsächlichen Wert abzuleiten. Sind die möglichen Werte für die zu commitenden Variablen groß oder werden viele Werte committed, ist es rechnerisch nicht durchführbar, alle gültigen Möglichkeiten aufzulisten. Die Vollständigkeit (Completeness) und Korrektheit (Soundness) der Beweise wird dadurch jedoch nicht beeinträchtigt.

Die Schwachstelle wurde in Version 0.11.0 behoben. Der Patch zur Behebung des Problems besteht darin, zum Zeitpunkt der Beweisgenerierung einen zusätzlichen randomisierten Wert zur Liste der commiteten Werte hinzuzufügen, um die übrigen committeden Werte zu maskieren. Als Workaround kann der Benutzer manuell ein Commitment für einen randomisierten Wert erstellen.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Zuständig

GitHub M

Reservieren

21.08.2024

Veröffentlichung

06.09.2024

Moderieren

akzeptiert

Eintrag

VDB-276721

CPE

bereit

EPSS

0.00427

KEV

nein

Aktivitäten

very low

Quellen

Do you want to use VulDB in your project?

Use the official API to access entries easily!