Instituto Nacional de ciberseguridad. Sección Incibe
Instituto Nacional de Ciberseguridad. Sección INCIBE-CERT

Vulnerabilidad en secp256k1-node (CVE-2024-48930)

Gravedad CVSS v4.0:
ALTA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
21/10/2024
Última modificación:
21/10/2024

Descripción

secp256k1-node es un enlace de Node.js para una librería C optimizada para operaciones EC en la curva secp256k1. En la versión basada en `elliptic`, `loadUncompressedPublicKey` tiene una comprobación de que la clave pública está en la curva. Sin embargo, antes de las versiones 5.0.1, 4.0.4 y 3.8.1, `loadCompressedPublicKey` no tiene esa comprobación. Eso permite al atacante usar claves públicas en curvas de baja cardinalidad para extraer suficiente información para restaurar completamente la clave privada a partir de tan solo 11 sesiones ECDH, y de manera muy económica en cuanto a potencia de cómputo. Otras operaciones en claves públicas también se ven afectadas, incluyendo, por ejemplo, `publicKeyVerify()` que devuelve incorrectamente `true` en esas claves no válidas, y, por ejemplo, `publicKeyTweakMul()` que también devuelve resultados predecibles que permiten restaurar el ajuste. Las versiones 5.0.1, 4.0.4 y 3.8.1 contienen una solución para el problema.