Bitcoin Core publicó el 28 de octubre tres avisos de seguridad sobre fallas detectadas por 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 que pueden agotar la memoria de un nodo y parte de un tercero relacionado con archivos usados al reorganizar bloques. El alcance varía: una falla de memoria afecta a Windows, macOS y BSD, mientras que la corrección del problema de archivos todavía deja expuestos a sistemas de 32 bits y nodos que guardan los bloques en FAT32.
Dos fallas de memoria con distinto alcance
La primera permite que un nodo conectado eluda el límite de datos pendientes de procesar y agote la memoria de otro nodo hasta cerrarlo. Bitcoin Core la clasifica como de gravedad media y precisa que afecta a Windows, macOS y BSD. Linux utiliza un mecanismo distinto para vigilar las conexiones y no está afectado por esta falla concreta.
La segunda también es de gravedad media, pero no comparte esa excepción para Linux. Un nodo malicioso puede mantener una conexión pausada mientras se acumulan mensajes destinados a ella. El aviso calcula que la memoria podría crecer hasta 2 MB por hora por conexión entrante y 5 MB por hora por conexión saliente. Es un crecimiento sostenido, distinto del cierre rápido que describe el primer aviso.
El problema de los archivos de reversión no desaparece en todos los equipos
El tercer aviso se refiere a los archivos que Bitcoin Core usa si necesita deshacer bloques durante una reorganización de la cadena. Bajo condiciones extremas, un minero podría provocar una falla al almacenar o leer esos datos. El proyecto la considera de gravedad baja y califica de impracticable el ataque contra sistemas de 64 bits por la cantidad de bloques que habría que minar y la secuencia precisa que exigiría.
Las cuatro versiones corrigen ese problema en sistemas de 64 bits, pero Bitcoin Core advierte dos excepciones: los sistemas de 32 bits y los nodos cuyo directorio de bloques está en FAT32 siguen afectados. En estos casos, el archivo puede superar un límite de tamaño y el nodo apagarse incluso sin una reorganización de bloques. Los avisos describen interrupciones del funcionamiento de nodos; no presentan estas fallas como una vía para extraer claves privadas de una cartera.
La divulgación rápida ya tiene su primer caso concreto
Los tres hallazgos surgieron de un análisis automatizado de Project Loupe, iniciativa de Elias Rohrer en Spiral, y Gregory Sanders los validó antes de trasladarlos al equipo de seguridad de Bitcoin Core. No se descubrieron el mismo día: el problema de los archivos se reportó el 8 de julio, el de mensajes acumulados el 15 de septiembre y el de conexiones en sistemas distintos de Linux el 23 de octubre. Los avisos se hicieron públicos el 28 de octubre, una vez disponibles las versiones corregidas.
El proyecto aplica así su 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. FomoEra explicó el cambio de política cuando se aprobó; estas tres fallas muestran ahora cómo funciona con parches reales.
La versión 29.5 recibió las correcciones, aunque la rama 29.x llegó al fin de 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 32 bits o FAT32, los avisos dejan claro que actualizar por sí solo no resuelve la tercera falla.