Vulnerabilidad en gnark (CVE-2024-45039)
Gravedad CVSS v3.1:
MEDIA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
06/09/2024
Última modificación:
20/09/2024
Descripción
gnark es una librería zk-SNARK rápida que ofrece una API de alto nivel para diseñar circuitos. Las versiones anteriores a la 0.11.0 tienen un problema de solidez: en caso de que se utilicen múltiples compromisos dentro del circuito, el probador puede elegir todos los compromisos excepto el último. Como gnark utiliza los compromisos para la multiplicación no nativa optimizada, las comprobaciones de búsqueda, etc. como desafíos aleatorios, podría afectar la solidez de todo el circuito. Sin embargo, se ha desaconsejado el uso de múltiples compromisos debido al coste adicional para el verificador y no se ha admitido en el verificador recursivo Groth16 en circuito ni en el verificador Solidity. Los mantenedores de gnark esperan que el impacto del problema sea muy pequeño: solo para los usuarios que han implementado el verificador nativo Groth16 o lo están utilizando con múltiples compromisos. No tenemos información de dichos usuarios. El problema se ha solucionado en la versión 0.11.0. Como workaround, los usuarios deben seguir la recomendación de los mantenedores de gnark de usar solo un único compromiso y luego derivar compromisos en circuito según sea necesario utilizando el paquete `std/multicommit`.
Impacto
Puntuación base 3.x
6.20
Gravedad 3.x
MEDIA
Productos y versiones vulnerables
CPE | Desde | Hasta |
---|---|---|
cpe:2.3:a:consensys:gnark-crypto:*:*:*:*:*:*:*:* | 0.11.0 (excluyendo) |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página