Hechos clave:
-
Según Daftuar, no se ha explotado este vector de ataque.
-
La falla fue resuelta en la versión 0.14 de Bitcoin Core, por lo que es de baja peligrosidad.
Un programador llamado Suhas Daftuar informó a los miembros de la lista de correos de Bitcoin Core sobre el hallazgo de una falla en el el código de las versiones 0.13 de su cliente para Bitcoin, que podría generar la desconexión de estos nodos en el proceso de generación de hashses de las transacciones y nodos de la red.
De acuerdo con el reporte, enviado el pasado 25 de febrero, la vulnerabilidad afecta a las versiones 0.13.0, 0.13.1 y 0.13.2 del cliente de Bitcoin Core. Sin embargo, Daftuar afirma que “estas versiones de software llegaron al final de su vida útil el 01/08/2018”, con la actualización 0.14 del cliente. Esta falla está asociada a un defecto de diseño fundamental en la construcción del árbol Merkle de Bitcoin.
Actualmente, el algoritmo del árbol Merkle de Bitcoin no distingue entre nodos internos y transacciones de 64 bytes, debido a que en ambos casos, el proceso para generar hashses de estos elementos es el mismo y ambos producen la misma raíz Merkle.
El error reportado por Daftuar es similar, pero el problema no afecta a las transacciones, sino a los nodos. En vez de confundir transacciones con nodos, el error causa una falla inversa, lo que podría generar la desconexión del nodo, al reconocer como inválido un bloque bien formado dentro de la red.
La vulnerabilidad que estoy describiendo aquí involucra otra dirección: encuentra una fila de nodos interiores en el árbol Merkle que deserializa con éxito como transacciones, para hacer que un bloque parezca inválido.
Suhas Daftuar
Según datos de Luke Dash existe un total de 2644 nodos que usan las versiones 0.13.0, 0.13.1 y 0.13.2 del cliente de Bitcoin Core al momento de la redacción. No obstante, de acuerdo con el análisis de Daftuar, la falla no ha afectado ningún nodo aún. De hecho, afirma que actualmente no hay bloques en la cadena principal de Bitcoin que puedan utilizarse para realizar un ataque contra un nodo que aún opere con alguna de las versiones 0.13.
Así, a pesar del hallazgo, su posible incidencia en la cadena de bloques de Bitcoin y en el funcionamiento de la red es baja.
A inicios de febrero de este año, Dashjr publicó un informe sobre otra vulnerabilidad de bajo impacto. En ese caso, se trataba de un vector de acceso incorrecto, que podría poner en riesgo nodos de Bitcoin Core o Bitcoin Knots.
Esa falla ponía en riesgo los nodos de Bitcoin operados por computadoras de acceso remoto compartido. No obstante, debido a su naturaleza y al funcionamiento de Bitcoin (que recomienda no operar nodos con este tipo de acceso), la vulnerabilidad fue de bajo impacto. En su reporte, Dashjr recordó que no se recomienda confiar en un equipo al que otros usuarios tengan acceso.
Imagen destacada por auremar / Stock.adobe.com