Error de alta gravedad en Bitcoin Core
Los desarrolladores de Bitcoin Core han revelado un error de alta gravedad que podría permitir a los mineros hacer caer de forma remota algunos nodos de Bitcoin. Este problema, identificado como CVE-2024-52911, afecta a las versiones de Bitcoin Core posteriores a 0.14.0 y anteriores a 29.0. El error fue corregido en Bitcoin Core 29.0, lanzado en abril de 2025. La divulgación pública del problema se realizó el 5 de mayo de 2026, tras el final de la vida útil de la última versión vulnerable, 28.x, el 19 de abril.
Detalles del problema
El problema se relaciona con el intérprete de scripts de Bitcoin Core durante la validación de bloques. Según Bitcoin Core, un bloque diseñado específicamente podría hacer que un nodo accediera a la memoria después de que esos datos ya hubieran sido liberados. Durante la validación, Bitcoin Core pre-calcula los datos de entrada de las transacciones y envía verificaciones de scripts a hilos en segundo plano. En ciertos casos, un bloque inválido podría destruir datos en caché mientras otro hilo aún intentaba leerlos.
Bitcoin Core advirtió que esto podría permitir a un atacante, que dispusiera de suficiente prueba de trabajo, hacer caer nodos víctimas. También se mencionó que
«es posible»
que el fallo pudiera permitir la ejecución remota de código, aunque las limitaciones en los datos del bloque hacían que este resultado fuera poco probable.
Complejidad del ataque
El ataque no era sencillo de llevar a cabo. Un minero necesitaría producir un bloque especialmente diseñado con suficiente prueba de trabajo para alcanzar la punta de la cadena, lo que lo haría costoso, ya que dicho bloque sería inválido y no podría obtener una recompensa de bloque normal, dejando al atacante gastando potencia de hash sin recibir el pago habitual por minería. Bitcoin Core no indicó que el error hubiera sido utilizado en ataques reales, y el aviso se centró en el defecto, la solución y la cronología de divulgación.
Impacto y divulgación
Es importante destacar que el error no alteró las reglas de consenso de Bitcoin. Estaba relacionado con el manejo de memoria en el software de Bitcoin Core, no con las reglas que definen transacciones o bloques válidos de Bitcoin. Cory Fields, de la Iniciativa de Moneda Digital del MIT, reportó el error de forma privada el 2 de noviembre de 2024. Bitcoin Core indicó que el informe incluía una prueba de concepto y una propuesta para mitigar el riesgo.
Pieter Wuille impulsó una solución encubierta cuatro días después a través de la solicitud de extracción (PR) 31112, que fue fusionada el 3 de diciembre de 2024, antes de que Bitcoin Core 29.0 se lanzara con la solución en abril de 2025.
Política de divulgación y riesgos actuales
El aviso siguió la política de divulgación de Bitcoin Core para errores de alta gravedad, que establece que los problemas de esta índole se divulgan después de que el último lanzamiento afectado llega al final de su vida útil. Además, los operadores de nodos que utilizan versiones de Bitcoin Core anteriores a 29.0 aún enfrentan el viejo error. Bitcoin Core no se actualiza automáticamente, por lo que los usuarios deben instalar versiones más nuevas manualmente.
Un informe anterior sobre los riesgos de descentralización de blockchain citó investigaciones que indicaban que el 21% de los nodos de Bitcoin ejecutaban software de Bitcoin Core desactualizado en junio de 2021. Este contexto resalta por qué las versiones de clientes más antiguas pueden seguir siendo una preocupación de seguridad mucho después de que se envíen las correcciones.