Los desarrolladores de Bitcoin Core han comunicado hoy la existencia de una vulnerabilidad crítica, identificada como CVE-2024-52911, que permitía a los mineros ejecutar código remoto en los nodos de otros usuarios. Este fallo afectaba a versiones de Bitcoin Core desde la 0.14.1 hasta la 28.4.

El desarrollador Cory Fields fue quien detectó y reportó de manera responsable este error de alta gravedad, colaborando en su parcheo mediante la Pull Request 31112. Aunque técnicamente era posible que un minero explotara esta vulnerabilidad para ejecutar software en nodos distribuidos globalmente, el coste energético del ataque lo hacía poco probable.

Para llevar a cabo el ataque, un minero debía generar bloques especiales con suficiente prueba de trabajo (proof-of-work), lo que implicaba un coste garantizado sin posibilidad de recuperar la inversión en electricidad, ya que estos bloques inválidos no podían ser recompensados con bitcoins. A pesar de su alto coste, el mecanismo del ataque era relativamente sencillo de entender.

¿Cómo funcionaba el fallo de seguridad?

La vulnerabilidad se basaba en un error de tipo use-after-free en el motor de validación de Bitcoin Core. Durante el proceso de validación de bloques, el software precalculaba y almacenaba en caché los datos de entrada de las transacciones. Posteriormente, delegaba la validación de los scripts a hilos en segundo plano que utilizaban memoria del sistema.

Si un nodo era víctima de un ataque CVE-2024-52911, podía seguir accediendo a datos en caché incluso después de que estos hubieran sido liberados por otro proceso. Esto permitía la ejecución remota de código cuando el hilo de validación de scripts leía información precomputada que ya había sido destruida por CScriptCheck.

Riesgo actual: el 43% de los nodos siguen vulnerables

Aunque Bitcoin Core ya ha lanzado versiones seguras (desde la v29 en adelante), la actualización no es automática y depende de los usuarios. Según estimaciones, hasta un 43% de los nodos de la red Bitcoin aún ejecutan versiones vulnerables basadas en código anterior a la v29. Esto los expone a posibles ataques que podrían colapsar sus sistemas o permitir la ejecución de código malicioso.

Cronología de la detección y parcheo

El fallo fue detectado por Cory Fields en noviembre de 2024 y reportado de manera privada. Solo cuatro días después, Pieter Wuille propuso una solución mediante la Pull Request 31112, titulada "Mejorar el registro de errores en la validación paralela de scripts". El parche se presentó como una actualización rutinaria de mantenimiento, ocultando su verdadera importancia para evitar su explotación antes de que fuera corregido.

«Hemos estado publicando avisos de seguridad de Bitcoin Core durante ~2 años y, hasta donde sé, este es el primer problema de seguridad por use-after-free que divulgamos: un error de acceso a memoria liberada en el motor de validación».
— Niklas Gögge (@dergoegge), 5 de mayo de 2026

Aunque Bitcoin Core confirmó que la ejecución remota de código era posible, no existen registros públicos de que este fallo haya sido explotado en la práctica. La combinación de su alto coste, antigüedad y las restricciones en los datos de los bloques ha reducido significativamente las posibilidades de que los mineros hayan utilizado este método.

Fuente: Protos