-
Tres errores fueron corregidos en las versiones de Bitcoin Core superiores a la 25.0.
-
Bitcoin Core modificó recientemente su política de avisos de seguridad.
Una vulnerabilidad considerada de severidad alta afectó a Bitcoin Core hasta mayo del 2023. Dicha vulnerabilidad y dos más, consideradas de severidad media, afectaron al proyecto Bitcoin Core hasta su versión 25.0.
El desvelamiento público de dichas fallas y sus resoluciones se deben a Niklas Gögge, un desarrollador quien las anunció a través de la lista de correos de desarrolladores de Bitcoin.
La primera, de más alto riesgo, permite a los atacantes “bloquear nodos de Bitcoin Core de forma remota activando una aserción en la lógica de manejo de mensajes blocktxn”.
La lógica de manejo del mensaje blocktxn se refiere a cómo los nodos de la red de Bitcoin manejan y procesan los mensajes que contienen transacciones de bloques solicitadas.
En resumen, este manejo de los mensajes permite solicitar transacciones faltantes en el bloque más reciente y reconstruir bloques completos para asegurar su integridad en la cadena. Esta lógica de codificación de mensajes es crucial para asegurar la sincronización de los nodos y los datos contenidos en él.
La explotación de esta vulnerabilidad, que todavía es posible en las versiones de Bitcoin Core anteriores a la 25.0, consistía en que los atacantes pudieron colisionar (hacer que dos bloques diferentes compartiesen el mismo identificador) los nodos a propósito, interviniendo en la lógica de manejo blocktxn .
La colisión de los nodos tiene consecuencias importantes, ninguna de las cuales implica la posibilidad de robar bitcoin. Entre ellas, bloquear los nodos. Bloquearlos provoca que el número de nodos activos disminuya, lo que reduce la descentralización y resiliencia de la red. A su vez, esto podría potencialmente disminuir la rapidez de la red.
Otras dos vulnerabilidades en viejas versiones de Bitcoin Core
Otra vulnerabilidad, ésta de severidad media, afectaba a la propagación de bloques en la cadena de Bitcoin. Según Bitcoin Core, antes de la versión 25.0 “un par que enviaba bloques mutados podía borrar el estado de descarga de otros pares que también nos anunciaban el bloque, lo que dificultaba la propagación del bloque”.
El cliente de nodos de Bitcoin asegura que esta vulnerabilidad se solucionó garantizando que un participante solo pueda afectar su propio estado de descarga de bloque, y no el estado de descarga de otros nodos. Los bloques mutados son bloques inválidos que contienen información alterada que no corresponde con las transacciones contenidas en él.
Un tercer error, también de severidad media, producía una denegación de servicio en la propagación de los bloques en la cadena. Es decir, una sobrecarga de mensajes de inventario que crecían demasiado.
Esto ocasionaba (y aún lo hace en versiones viejas de Bitcoin Core) que se acrecentase el tiempo necesario para ordenar los mensajes de inventario que anuncian transacciones a otros nodos. Esto afectaba la capacidad de los nodos involucrados para comunicarse con sus pares.
Recientemente, Bitcoin Core actualizó su política de avisos de seguridad sobre vulnerabilidades en Bitcoin. Esta diferencia entre cuatro tipos de vulnerabilidades: baja, mediana, alta y crítica, que se develan desde dos semanas hasta un año después de encontradas.
Como reportó CriptoNoticias en la presente nota, ninguna de las tres vulnerabilidades presentadas posee el máximo estatus de riesgo.