✨︎ Resumen (TL;DR):
- Bitcoin Core publicó el 28 de octubre tres avisos de seguridad por fallas detectadas con Project Loupe, una herramienta de análisis de código asistida por IA.
- Las versiones 29.5, 30.4, 31.2 y 32.1 corrigen dos fallas de memoria y el problema de archivos en sistemas de 64 bits.
- Los nodos en sistemas de 32 bits o con los bloques en FAT32 siguen afectados por la falla de archivos.
Bitcoin Core publicó el 28 de octubre tres avisos de seguridad por fallas detectadas con Project Loupe, una herramienta de análisis de código asistida por IA. Las versiones 29.5, 30.4, 31.2 y 32.1 corrigen dos problemas capaces de agotar la memoria de un nodo y el problema de archivos en sistemas de 64 bits. Los nodos de 32 bits y los que guardan sus bloques en FAT32 siguen expuestos a esta última falla.
Project Loupe es una herramienta de análisis de código asistida por IA que detectó los tres problemas. El alcance de las correcciones cambia según el sistema operativo y la forma en que cada nodo almacena los bloques.
Dos fallas de memoria con impactos distintos
La primera permite que un nodo conectado eluda el límite de datos pendientes de procesar. Así puede agotar la memoria de otro nodo hasta provocar que se cierre. Bitcoin Core la clasifica como una falla de gravedad media.
El problema afecta a Windows, macOS y BSD. Linux queda fuera de esta falla concreta porque utiliza un mecanismo distinto para vigilar las conexiones.
La segunda falla también tiene gravedad media, pero no comparte la excepción de la primera para Linux. Un nodo malicioso puede mantener una conexión pausada mientras se acumulan mensajes destinados a ella.
El aviso calcula que la memoria puede crecer hasta 2 MB por hora por cada conexión entrante y 5 MB por hora por cada conexión saliente. Ese crecimiento es sostenido y no corresponde al cierre rápido descrito en el primer aviso.
La falla de archivos no desaparece en todos los equipos
Un archivo de reversión es un archivo que Bitcoin Core utiliza para deshacer bloques durante una reorganización de la cadena. En condiciones extremas, un minero podría provocar una falla al almacenar o leer esos datos.
Bitcoin Core considera que este tercer problema tiene gravedad baja y califica de impracticable el ataque contra sistemas de 64 bits. La razón es la cantidad de bloques que habría que minar y la secuencia precisa que exigiría.
Las cuatro versiones corrigen el problema en sistemas de 64 bits. La excepción alcanza a los sistemas de 32 bits y a los nodos cuyo directorio de bloques está en FAT32.
En esos casos, el archivo puede superar un límite de tamaño y el nodo puede apagarse incluso sin una reorganización de bloques. Los avisos describen interrupciones del funcionamiento de los nodos, no una vía para extraer claves privadas de una cartera.
Los tres hallazgos probaron la nueva divulgación
Los hallazgos surgieron de un análisis automatizado de Project Loupe, una iniciativa de Elias Rohrer en Spiral. Gregory Sanders los validó antes de trasladarlos al equipo de seguridad de Bitcoin Core.
Los tres reportes tienen fechas distintas: el de los archivos corresponde al 8 de julio, el de los mensajes acumulados al 15 de septiembre y el de las conexiones en sistemas distintos de Linux al 23 de octubre. Bitcoin Core hizo públicos los avisos el 28 de octubre, después de poner a disposición las versiones corregidas.
El proyecto aplica una política de divulgación para fallas fáciles de descubrir: publica una actualización y un aviso sin esperar los embargos habituales ligados a la gravedad. Con estos tres avisos, esa política tiene su primer caso concreto con parches reales.
Qué versión deben revisar los operadores
La versión 29.5 recibió las correcciones, pero la rama 29.x terminó su soporte con el lanzamiento de 32.1 el 27 de octubre. Bitcoin Core recomienda ejecutar la actualización de mantenimiento más reciente de la versión principal más nueva a la que cada operador pueda migrar.
Para quienes usan sistemas de 32 bits o guardan los bloques en FAT32, actualizar por sí solo no resuelve la tercera falla. En esos dos casos, el riesgo descrito sigue siendo un apagado del nodo cuando el archivo rebasa su límite de tamaño, incluso sin una reorganización de bloques.
La actualización es necesaria, pero no suficiente para eliminar el problema de archivos en esos equipos.
