Bitcoin Core reveló tres vulnerabilidades el 28 de octubre y lanzó correcciones en las versiones 29.5, 30.4, 31.2 y 32.1, incluyendo una falla que permite a un par malicioso colapsar nodos de Windows, macOS y BSD.
El software Bitcoin Core permite a los operadores validar independientemente la cadena de bloques de Bitcoin e incluye un monedero. El proyecto clasifica dos vulnerabilidades de crecimiento de memoria como de severidad media y una tercera, relacionada con datos de la cadena de bloques almacenados, como de severidad baja. Los tres avisos no indican si se ha observado explotación.
Para los operadores en las ramas 29.x, 30.x y 31.x, las versiones puntuales corregidas son 29.5, 30.4 y 31.2, respectivamente. La versión 32.1 es la versión más reciente. Los operadores que ejecutan versiones puntuales anteriores en esas ramas deben actualizar.
La vulnerabilidad de bloqueo no-Linux permite a un atacante conectado enviar tráfico de red especialmente marcado, conocido como datos urgentes TCP, para eludir los límites sobre la cantidad de datos entrantes que un nodo encola para su procesamiento. La cola puede crecer sin límite hasta que el nodo se quede sin memoria. Linux no se ve afectado por esta falla específica porque utiliza un mecanismo diferente para monitorear las conexiones de red.
La segunda falla de crecimiento de memoria permite que un par malicioso simule usar un protocolo antiguo que carece de mensajes ping modernos, evitando un tiempo de espera que normalmente lo desconectaría. Al retrasar las lecturas, el par puede hacer que el nodo siga colocando anuncios en cola. El uso de memoria puede aumentar hasta 2 MB por hora por cada par entrante o 5 MB por hora por cada par saliente. Los nodos configurados para retransmitir solo bloques se ven mucho menos afectados.
Sigue existiendo un riesgo de almacenamiento separado
La tercera vulnerabilidad se refiere a los archivos de “undo”, que almacenan la información necesaria para deshacer bloques durante una reorganización de la cadena de bloques. Un minero podría forzar que estos archivos superen los límites de tamaño, corrompiendo datos o desconectando nodos afectados. Bitcoin Core considera impráctico explotar esta vulnerabilidad: en sistemas de 64 bits, la preparación requeriría minar varios miles de bloques específicamente construidos, con condiciones adicionales precisas necesarias para un ataque basado en reorganización.
Las correcciones abordan esta falla en sistemas de 64 bits, incluyendo Windows, pero los sistemas de 32 bits y los nodos que almacenan bloques en un sistema de archivos FAT32 siguen afectados. Si los datos de deshacer ya han sido corruptos, reiniciar no es suficiente; la recuperación requiere reconstruir el índice de la cadena de bloques con una versión corregida.
Los avisos atribuyen el descubrimiento de las tres vulnerabilidades a un escaneo automatizado de IA del Proyecto Loupe de Spiral, con Gregory Sanders validando los hallazgos y reportándolos a Bitcoin Core. El proyecto clasificó las tres como “fácilmente detectables”. Su política de divulgación exige publicar las correcciones en todas las ramas mantenidas y un aviso sin la restricción habitual para esa categoría.
Para actualizar, los operadores deben apagar completamente Bitcoin Core antes de instalar o reemplazar el software, según las instrucciones de lanzamiento. Esas notas también indican que las versiones 29.x y anteriores han alcanzado el fin de su vida útil y ya no recibirán actualizaciones.


