Vulnerabilidad en la implementación de las operaciones SHL, SHR y SAR en Besu (CVE-2021-41272)
Gravedad CVSS v3.1:
ALTA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
13/12/2021
Última modificación:
16/12/2021
Descripción
Besu es un cliente de Ethereum escrito en Java. A partir de la versión 21.10.0, los cambios en la implementación de las operaciones SHL, SHR y SAR resultaron en la introducción de un error de coerción de tipo con signo en valores que representan valores negativos para enteros con signo de 32 bits. Los contratos inteligentes que piden desplazamientos entre aproximadamente 2.000 millones y 4.000 millones de bits (valores sin sentido pero válidos para la operación) fallarán en la ejecución y, por tanto, en la comprobación. En las redes en las que las versiones vulnerables estén minando con otros clientes o versiones no vulnerables será producida una bifurcación y las transacciones correspondientes no serán incluidas en la bifurcación. En redes donde las versiones vulnerables no están minando (como Rinkeby) no será producida ninguna bifurcación y los nodos comprobadores dejarán de aceptar bloques. En las redes en las que sólo minan las versiones vulnerables, la transacción correspondiente no será incluida en ningún bloque. Cuando la red añada una versión no vulnerable la red actuará como en el primer caso. Besu versión 21.10.2 contiene un parche para este problema. Besu versión 21.7.4 no es vulnerable y los clientes pueden volver a esa versión. Se presenta una solución disponible: Una vez que una transacción con las operaciones de cambio pertinentes es incluida en la cadena canónica, la única solución es asegurarse de que todos los nodos están en versiones no vulnerables
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:linuxfoundation:besu:21.10.0:-:*:*:*:*:*:* | ||
cpe:2.3:a:linuxfoundation:besu:21.10.0:rc1:*:*:*:*:*:* | ||
cpe:2.3:a:linuxfoundation:besu:21.10.0:rc2:*:*:*:*:*:* | ||
cpe:2.3:a:linuxfoundation:besu:21.10.0:rc3:*:*:*:*:*:* | ||
cpe:2.3:a:linuxfoundation:besu:21.10.0:rc4:*:*:*:*:*:* | ||
cpe:2.3:a:linuxfoundation:besu:21.10.1:*:*:*:*:*:*:* |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página