CVE-2024-45040 in gnark
Resumen
por MITRE • 2024-09-06
gnark es una librería zk-SNARK rápida que ofrece una API de alto nivel para diseñar circuitos. Antes de la versión 0.11.0, los compromisos con testigos privados en Groth16 tal como se implementaron rompen la propiedad de conocimiento cero. La vulnerabilidad afecta solo a las pruebas de Groth16 con compromisos. En particular, las pruebas PLONK no se ven afectadas. La vulnerabilidad afecta la propiedad de conocimiento cero de las pruebas: en caso de que los valores de los testigos (secretos o internos) sean pequeños, entonces el atacante puede enumerar todas las opciones posibles para deducir el valor real. Si las opciones posibles para las variables que se comprometerán son grandes o hay muchos valores comprometidos, entonces sería computacionalmente inviable enumerar todas las opciones válidas. No afecta la integridad/solidez de las pruebas. La vulnerabilidad se ha corregido en la versión 0.11.0. El parche para solucionar el problema es agregar un valor aleatorio adicional a la lista de valores comprometidos en el momento de la prueba para enmascarar el resto de los valores que se comprometieron. Como workaround, el usuario puede comprometerse manualmente con un valor aleatorio.
If you want to get best quality of vulnerability data, you may have to visit VulDB.