Vulnerabilidad en la cadena canónica en el contrato de copia de datos precompilado en Go Ethereum, o "Geth" (CVE-2020-26241)
Gravedad CVSS v3.1:
ALTA
Tipo:
No Disponible / Otro tipo
Fecha de publicación:
25/11/2020
Última modificación:
03/12/2020
Descripción
Go Ethereum, o "Geth", es la implementación oficial Golang del protocolo Ethereum. Esta es una vulnerabilidad de Consensus en Geth versiones anteriores a 1.9.17 que puede ser usada para causar una división de cadena donde unos nodos vulnerables rechazan la cadena canónica. El contrato de copia de datos precompilado de Geth (en 0x00 ... 04) hizo una copia superficial en la invocación. Un atacante podría implementar un contrato que escribe X en una región de memoria R de EVM, luego llama a 0x00..04 con R como argumento, luego sobrescribe R en Y y finalmente invoca el código de operación RETURNDATACOPY. Cuando este contrato es invocado, un nodo consensus-compliant empujaría X en la pila de EVM, mientras que Geth empujaría Y. Esto es corregido en la versión 1.9.17
Impacto
Puntuación base 3.x
7.10
Gravedad 3.x
ALTA
Puntuación base 2.0
5.50
Gravedad 2.0
MEDIA
Productos y versiones vulnerables
| CPE | Desde | Hasta |
|---|---|---|
| cpe:2.3:a:ethereum:go_ethereum:*:*:*:*:*:*:*:* | 1.9.17 (excluyendo) |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página



