NoticiasCriptoBitcoin Core integra una corrección para una falla de firma que podría redirigir fondos sin exponer las claves

Bitcoin Core integra una corrección para una falla de firma que podría redirigir fondos sin exponer las claves

Autor: CryptoNewsNet·

Puntos clave

  • •Bitcoin Core integró el 25 de septiembre una corrección que impide firmar PSBT en los casos en que el caso límite de salida faltante de SIGHASH_SINGLE podría dejar una firma válida después de que se haya cambiado el destinatario.
  • •La falla no expone las claves privadas, pero para las entradas legacy una firma sobre un valor de hash fijo podría reutilizarse contra otras salidas no gastadas controladas por la misma clave bajo condiciones estructurales similares.
  • •Las firmas de SegWit v0 todavía se comprometen con la moneda específica que se gasta y su monto; sin embargo, la salida de destino puede quedar desvinculada, lo que crea un problema de autorización para las wallets y los dispositivos de firma.
  • •La nueva verificación se trasladó a la lógica compartida de creación de firmas de Bitcoin Core, extendiendo el rechazo existente de transacciones en bruto a la ruta de PSBT, incluido el comando walletprocesspsbt, permitiendo que otras entradas válidas en la misma PSBT continúen.
  • •Al 4 de octubre, ninguna versión de producción ni backport confirmado incluía la salvaguarda, lo que lleva a los proveedores de wallets y a las integraciones de firma por hardware a revisar su propio manejo de las solicitudes SIGHASH_SINGLE en lugar de esperar una versión de Bitcoin Core.
Bitcoin Core integra una corrección para una falla de firma que podría redirigir fondos sin exponer las claves

Bitcoin Core ha añadido una salvaguarda contra la firma de transacciones que podrían no vincular criptográficamente los fondos al destino de pago aprobado por el usuario. El cambio, integrado en la rama maestra de desarrollo del proyecto el 25 de septiembre, apunta a una falla puntual en las transacciones de Bitcoin parcialmente firmadas, o PSBT, que podría producir una firma válida sin proteger la salida prevista. Bitcoin Optech destacó la actualización el 2 de octubre.

El problema no expone la clave privada del usuario. En cambio, genera un riesgo distinto: bajo condiciones específicas, una firma puede seguir siendo válida incluso después de que se haya cambiado el destinatario de la transacción.

Cómo funciona la debilidad de SIGHASH_SINGLE

Cada firma de Bitcoin incluye un indicador sighash que determina a qué partes de la transacción se compromete la firma. SIGHASH_SINGLE es uno de estos modos de firma, diseñado para comprometer una entrada con la salida que ocupa la posición correspondiente en una transacción. Cuando no existe una salida en esa posición, la protección falla de manera distinta según el tipo de bitcoin que se esté gastando.

Para las entradas legacy, el caso de la salida faltante puede producir una firma sobre un valor de hash fijo. Los desarrolladores de Bitcoin Core indicaron que dicha firma podría luego reutilizarse contra otras salidas no gastadas controladas por la misma clave cuando se presenten las mismas condiciones estructurales.

Las transacciones SegWit v0 conservan protecciones más sólidas, porque la firma todavía se compromete con la moneda específica que se gasta y su monto. Sin embargo, la salida de destino puede quedar desvinculada. Esto crea un problema de autorización para las wallets y los dispositivos de firma: el software podría mostrar un pago al usuario mientras produce una firma que no garantiza criptográficamente que el destinatario aprobado permanezca sin cambios.

Bitcoin Core bloquea la solicitud de firma riesgosa

Bitcoin Core ya rechazaba este caso límite a través de su interfaz de firma de transacciones en bruto, pero su ruta de PSBT —incluido el comando walletprocesspsbt— todavía podía firmarlo. El nuevo código traslada la verificación a la lógica compartida de creación de firmas de Bitcoin Core, de modo que el mismo rechazo ahora se aplica en todas las rutas de firma de Bitcoin Core, impidiendo que se firmen las entradas legacy y SegWit v0 afectadas, mientras se permite que otras entradas válidas en la misma PSBT continúen.

Las PSBT se utilizan comúnmente para coordinar transacciones entre wallets de software, dispositivos de hardware y firmantes sin conexión. Permiten que quienes construyen las transaccionesen información a un firmante separado sin otorgar a ese sistema el control de las claves privadas. Por lo tanto, la corrección refuerza un límite que los desarrolladores de wallets deben aplicar de manera independiente a la seguridad de las claves: una firma criptográfica válida debe comprometerse con los detalles de la transacción que el usuario realmente autorizó.

Bitcoin Improvement Proposal 174, que define las PSBT, ya indica a los firmantes que rechacen los modos de firma inaceptables y recomienda SIGHASH_ALL cuando no se especifica ninguna alternativa. El cambio de Bitcoin Core impide explícitamente que esta configuración de salida faltante llegue a la etapa de firma.

Aún no hay una versión de producción con la corrección

Los usuarios aún no cuentan con una versión de producción confirmada que incluya la salvaguarda. El cambio del 25 de septiembre se integró en la rama de desarrollo de Bitcoin Core, y al 4 de octubre las listas de versiones publicadas del proyecto no habían identificado una versión corregida ni confirmado un backport. Un backport llevaría la misma salvaguarda a una versión ya publicada; hasta que aparezca una en las listas, la protección existe solo en el código base de desarrollo.

Esto deja a los proveedores de wallets y a las integraciones de firma por hardware con una decisión más inmediata: revisar su propio manejo de las solicitudes SIGHASH_SINGLE en lugar de esperar a que una versión de Bitcoin Core imponga la misma protección aguas abajo.

El informe original fue publicado en CryptoSlate.