Bitcoin Core dio a conocer el martes 10 de noviembre los detalles de tres vulnerabilidades corregidas en 2025. Una de ellas se clasificó como de gravedad alta, porque podía impedir que un nodo minero produjera bloques tras una reorganización de la cadena. La divulgación llegó dos semanas después de que la última versión afectada, la 29.x, alcanzara el fin de su vida útil el 27 de octubre de 2026.
Las tres vulnerabilidades
Los avisos se añadieron al sitio oficial mediante una pull request en GitHub abierta por darosior y fusionada por fanquake ese mismo día. La descripción de la PR indica que los fallos se preanunciaron dos semanas antes, junto con el lanzamiento de la versión 32.1.
- CVE-2025-62859 - un peer podía bloquear el procesamiento de bloques al anunciar un compact block con un witness maleado
- CVE-2025-62860 - las conexiones entrantes de Tor recibían por error permisos -whitelist, lo que eliminaba las protecciones contra DoS y de privacidad
- CVE-2025-62861 - la creación de plantillas de bloque se detenía por la expulsión de transacciones hermanas TRUC (v3) durante un reorg
El aviso publicado clasifica CVE-2025-62861 como de gravedad alta.
Cómo funcionaba el fallo de gravedad alta
Las transacciones TRUC (versión 3, definidas en el BIP 431) pueden tener como máximo un ancestro sin confirmar y un descendiente sin confirmar en la mempool. Cuando una transacción nueva daría a un padre TRUC un segundo hijo sin confirmar, la lógica de expulsión de hermanas introducida en la v28.0 expulsa al hijo existente según las reglas de replace-by-fee, si la nueva transacción paga lo suficiente.
Son reglas de política de la mempool, no reglas de consenso, así que un bloque válido puede contener cualquier topología. Durante un reorg, las transacciones de los bloques desconectados se vuelven a añadir a la mempool con bypass_limits=true, pero la comprobación TRUC no dependía de ese indicador y se ejecutaba igualmente.
El resultado: una transacción restaurada podía ser expulsada mientras sus descendientes seguían en la mempool, gastando salidas que ya no existían. La plantilla de bloque que ensamblaba el minero fallaba entonces en su comprobación de validez, y el nodo no podía producir bloques hasta que un reinicio recargara la mempool en un estado coherente.
Quién se vio afectado y cuándo se corrigió
La corrección llegó con la PR #33504, abierta por Greg Sanders, que condiciona las comprobaciones TRUC a bypass_limits. El fallo fue descubierto y comunicado de forma responsable por Niklas Goegge.
Fecha | Evento |
|---|---|
26 sep 2025 | Niklas Goegge informa del fallo en la lista de correo de seguridad |
2 oct 2025 | La PR #33504 se fusiona en master |
10 oct 2025 | Se publica Bitcoin Core 30.0 con la corrección |
14 oct 2025 | Se publica Bitcoin Core 29.2 con la corrección |
17 oct 2025 | Se publica Bitcoin Core 28.3 con la corrección |
27 oct 2026 | La última versión vulnerable (29.x) llega al fin de su vida útil |
10 nov 2026 | Divulgación pública |
Política de divulgación
Según la política de seguridad de Bitcoin Core, las vulnerabilidades de gravedad media y alta se divulgan dos semanas después de que la última versión afectada llegue al fin de su vida útil, aproximadamente un año después del primer lanzamiento de la versión principal que incluye la corrección.
Dos semanas antes se emite un preanuncio, que coincide con una nueva versión principal e indica el número de vulnerabilidades corregidas y su nivel de gravedad. Si aún ejecutas un nodo en la 28.0-28.2 o la 29.0-29.1, estás afectado; las últimas versiones de mantenimiento, 29.5 y 30.4, se publicaron el 28 de octubre de 2026.
