Vulnerabilidad en Besu Native (CVE-2025-30147)
Gravedad CVSS v4.0:
ALTA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
07/05/2025
Última modificación:
15/04/2026
Descripción
Besu Native contiene scripts y herramientas que se utilizan para compilar y empaquetar las librerías nativas que utiliza el cliente de Ethereum, Hyperledger Besu. Las versiones de Besu 24.7.1 a 25.2.2, correspondientes a las versiones de besu-native 0.9.0 a 1.2.1, presentan un posible error de consenso en las precompilaciones ALTBN128_ADD (0x06), ALTBN128_MUL (0x07) y ALTBN128_PAIRING (0x08). Estas precompilaciones se reimplementaron en besu-native con la implementación bn254 de gnark-crypto, ya que la implementación anterior utilizaba una librería que ya no recibía mantenimiento y no ofrecía el rendimiento suficiente. La nueva implementación de gnark se añadió inicialmente en la versión 0.9.0 de besu-native, pero Besu no la utilizó hasta la versión 0.9.2 de Besu 24.7.1. El problema radica en que existen puntos EC que podrían estar manipulados y que se encuentran en el subgrupo correcto, pero no en la curva. La implementación de besu-native de gnark dependía de comprobaciones de subgrupos para realizar también comprobaciones de punto en la curva. La versión de gnark-crypto utilizada en ese momento no realizaba esta comprobación al realizar comprobaciones de subgrupos. Como resultado, Besu podía generar un resultado incorrecto y perder el consenso al ejecutar una de estas precompilaciones contra un punto de entrada especialmente manipulado. Además, las redes homogéneas solo de Besu pueden potencialmente incluir un estado no válido, lo cual sería incorrecto y difícil de procesar con versiones parcheadas de besu que gestionan estas llamadas correctamente. El defecto subyacente se ha corregido en la versión 1.3.0 de besu-native. La versión corregida de Besu es la 25.3.0. Como solución temporal para las versiones de Besu con este problema, se puede deshabilitar la precompilación nativa para altbn128 en favor de la implementación puramente Java. La implementación de Java puro es significativamente más lenta, pero no tiene este problema de consenso.
Impacto
Puntuación base 4.0
8.70
Gravedad 4.0
ALTA



