El equipo de desarrollo de Bitcoin Core ha revelado y corregido tres vulnerabilidades en el software que ejecuta la gran mayoría de nodos de la red de Bitcoin. Ninguna fue descubierta a raíz de un ataque o de un reporte externo de abuso. Se detectaron de forma proactiva, mediante un escaneo automatizado con modelos de lenguaje a gran escala (LLM) realizado por Project Loupe, una iniciativa de seguridad gestionada por la firma Spiral, con informes paralelos presentados por los investigadores independientes L0rinc, miembro del Bitcoin Red Team, y Andrew Dorman.
El protocolo de Bitcoin en sí no se vio afectado por la oleada de fallos técnicos que comprometió gran parte de la infraestructura de servidores de internet este mes. Charles Guillemet, director de tecnología (CTO) de Ledger, describió el entorno más amplio que enfrenta el sector como un panorama global de ciberseguridad aterrador. Sin embargo, el propio código de Bitcoin no quedó exento de escrutinio, y los tres problemas encontrados tienen que ver con la gestión de memoria de Bitcoin Core, no con las reglas de consenso de la red en sí.
Tres debilidades distintas
El primer fallo permitía un crecimiento ilimitado de memoria cuando un peer simulaba no soportar el estándar de comunicación BIP 31. Retrasando estratégicamente la lectura de mensajes y evadiendo el mecanismo que desconecta nodos inactivos tras 20 minutos, un atacante podía hacer que la cola de datos de un nodo creciera sin límite, consumiendo hasta 5 MB por hora en conexiones salientes.
El segundo afectaba a todas las plataformas excepto Linux. Al enviar datos urgentes a través del protocolo TCP, un atacante podía eludir el mecanismo de límite de procesamiento y acumular una cantidad excesiva de información, lo que provocaba trivialmente la caída de cualquier nodo que ejecutara Windows, macOS o BSD. Los sistemas Linux quedaron a salvo porque Bitcoin Core utiliza un código de monitorización distinto en ese sistema operativo.
El tercero consistía en un desbordamiento en los datos de deshacer (undo data), la información utilizada para revertir transacciones durante una reorganización de la cadena. Estos archivos de deshacer se almacenaban en enteros de 32 bits sin un límite de tamaño formal. Un minero podía generar bloques maliciosos cuyo volumen de datos superara los 4 GiB, provocando que el registro colapsara y que la información nueva sobrescribiera la antigua. Si a continuación se producía una reorganización, el nodo afectado perdería la capacidad de leer la información y se apagaría automáticamente.
Parches ya en circulación
Dos de los tres fallos fueron clasificados como de severidad media, ambos vinculados al agotamiento de memoria; el tercero, el desbordamiento de los datos de deshacer, se calificó de severidad baja. Las correcciones se publicaron el 27 y el 28 de octubre a través de las versiones 29.5, 30.4, 31.2 y 32.1 de Bitcoin Core.
Los parches no cierran todos los resquicios. Los ordenadores que ejecutan sistemas operativos de 32 bits y los nodos que almacenan bloques en discos formateados en FAT32 siguen expuestos al problema de desbordamiento, debido a limitaciones inherentes para leer archivos de más de 4 GiB en esas configuraciones.
El episodio ilustra un cambio en la forma de detectar vulnerabilidades en el software central de Bitcoin: no mediante la respuesta a incidentes tras su explotación, sino a través de un escaneo sistemático y automatizado combinado con revisión humana independiente, que permite atrapar el tipo de fallos de gestión de memoria que históricamente han sido la puerta de entrada para ataques de denegación de servicio contra la infraestructura de la red.




