Vulnerabilidad en Hyperledger Fabric (CVE-2023-46132)
Severidad:
MEDIA
Type:
CWE-362
Ejecución concurrente utilizando recursos compartidos con una incorrecta sincronización (Condición de carrera)
Fecha de publicación:
14/11/2023
Última modificación:
22/11/2023
Descripción
Hyperledger Fabric es un framework de contabilidad distribuido con permisos de código abierto. La combinación de dos moléculas entre sí, lo que se denomina "cross-linking", da como resultado una molécula con una fórmula química que está compuesta por todos los átomos de las dos moléculas originales. En Fabric, se puede tomar un bloque de transacciones y vincular las transacciones de una manera que altere la forma en que los pares analizan las transacciones. Si un primer par recibe un bloque B y un segundo par recibe un bloque idéntico a B pero con las transacciones cross-linked, el segundo par analizará las transacciones de una manera diferente y, por lo tanto, su estado mundial se desviará del primer par. Los ordenantes o pares no pueden detectar que un bloque tiene sus transacciones cross-linked, porque existe una vulnerabilidad en la forma en que Fabric procesa las transacciones de los bloques. Los concatena de manera simple e ingenua, lo cual es inseguro y permite que un adversario cree un "cross-linked block" (bloque con transacciones entrecruzadas) que altera la forma en que los pares procesan las transacciones. Por ejemplo, es posible seleccionar una transacción y manipular un par para evitar por completo procesarla, sin cambiar el hash calculado del bloque. Se agregaron validaciones adicionales en v2.2.14 y v2.5.5 para detectar posibles problemas de cross-linking antes de procesar bloques. Se recomienda a los usuarios que actualicen. No se conocen workarounds para esta vulnerabilidad.
Impacto
Puntuación base 3.x
6.50
Severidad 3.x
MEDIA
Productos y versiones vulnerables
CPE | Desde | Hasta |
---|---|---|
cpe:2.3:a:hyperledger:fabric:*:*:*:*:*:*:*:* | 1.0.0 (incluyendo) | 2.2.14 (excluyendo) |
cpe:2.3:a:hyperledger:fabric:*:*:*:*:*:*:*:* | 2.3.0 (incluyendo) | 2.5.5 (excluyendo) |
Para consultar la lista completa de nombres de CPE con productos y versiones, ver esta página