Vulnerabilidad en la validación de la firma BLS en el método de biblioteca blst VerifyCompressed en Lotus (CVE-2021-21405)
Gravedad CVSS v3.1:
ALTA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
15/04/2021
Última modificación:
23/04/2021
Descripción
Lotus es una implementación del protocolo Filecoin escrito en Go. La validación de la firma BLS en lotus utiliza el método de biblioteca blst VerifyCompressed. Este método acepta firmas en 2 formas: "serialized" y "compressed", lo que significa que las firmas BLS se pueden proporcionar como cualquiera de las 2 matrices de bytes únicas. Las funciones de validación de bloques de Lotus realizan una verificación de unicidad en los bloques proporcionados. Dos bloques se consideran distintos si los CID de su encabezado de bloque no coinciden. El método CID para blockheader incluye el BlockSig del bloque. El resultado de estos problemas es que sería posible castigar a los mineros por bloques válidos, ya que hay dos CID de bloque válidos diferentes disponibles para cada bloque, aunque este debe ser único. Al cambiar de los enlaces `blst` basados ??en go a los enlaces en `filecoin-ffi`, las rutas de código ahora garantizan que todas las firmas estén comprimidas por tamaño y la forma en que se deserializan. Esto ocurrió en https://github.com/filecoin-project/lotus/pull/5393
Impacto
Puntuación base 3.x
7.50
Gravedad 3.x
ALTA
Puntuación base 2.0
5.00
Gravedad 2.0
MEDIA
Productos y versiones vulnerables
CPE | Desde | Hasta |
---|---|---|
cpe:2.3:a:filecoin:lotus:*:*:*:*:*:*:*:* | 1.5.0 (excluyendo) |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página