Vulnerabilidad en Electrum y su Parche de Seguridad
Un servidor de billetera Bitcoin malicioso podría intercambiar silenciosamente un pago legítimo por una transacción fraudulenta, y luego esperar a que su propietario aprobara el robo. El último parche de seguridad de Electrum cierra esta brecha, después de que los atacantes explotaran la vulnerabilidad y robaran fondos. Electrum lanzó la versión 4.8.3 el sábado, advirtiendo a los usuarios que actualizaran de inmediato tras descubrir que servidores maliciosos estaban aprovechando una vulnerabilidad de alta gravedad que afectaba a todas las versiones anteriores.
Detalles de la Falla de Seguridad
La falla, documentada en el aviso de GitHub GHSA-6jp4-8v48-cc5v, se centraba en cómo la billetera ligera de Bitcoin maneja las transacciones no confirmadas. Electrum depende de servidores externos para obtener historiales de transacciones, estimaciones de tarifas y la difusión de pagos. Aunque verifica de forma independiente las transacciones confirmadas, las versiones anteriores aceptaban ciertas transacciones no confirmadas sin verificar sus firmas.
Los atacantes convirtieron esta distinción en una trampa. Un servidor comprometido podría interceptar un pago legítimo, evitar su difusión y sustituirlo por una transacción fraudulenta que dirigía fondos a una dirección de Bitcoin controlada por el atacante. Aunque la sustitución llevaba firmas inválidas, Electrum la mostraba como un pago pendiente ordinario.
El Engaño y sus Consecuencias
El truco se volvió peligroso cuando los usuarios intentaron aumentar las tarifas de transacción a través de Replace-By-Fee (RBF). En lugar de aumentar la tarifa en su pago original, las víctimas podrían inadvertidamente firmar la transacción sustituida, autorizando así la transferencia de su propio Bitcoin al atacante. El engaño fue aún más sofisticado. Los atacantes generaron direcciones de recepción cuyos últimos cuatro caracteres coincidían con el destino previsto, lo que hacía menos probable que una rápida comparación de direcciones expusiera el cambio.
Una transacción fraudulenta incluso llevaba una tarifa cero, aparentemente alentando a su víctima a iniciar el ajuste de tarifa necesario para completar el robo.
Informes y Solución Implementada
Los desarrolladores recibieron dos informes privados. El 11 de octubre, el usuario dannydeezy informó sobre la sustitución de transacciones, aunque el mecanismo de aumento de tarifas no se entendía completamente. El 18 de octubre, Raju-K12 informó sobre la pérdida de fondos tras aprobar un aumento de tarifas. Este segundo informe estableció que el ataque no era meramente teórico.
El parche, introducido a través del commit 90fe308, requiere que Electrum verifique las firmas de las transacciones no confirmadas que gastan monedas pertenecientes a la billetera. Las transacciones fraudulentas con firmas inválidas son rechazadas antes de ingresar al historial local de la billetera.
Recomendaciones para los Usuarios
Los usuarios que ejecutan versiones anteriores a la 4.8.3 deben descargar la actualización exclusivamente desde electrum.org y verificar sus firmas criptográficas. Hasta que se actualicen, los usuarios deben inspeccionar cuidadosamente cada dirección de destino y monto de pago antes de firmar, incluso durante los ajustes de tarifas. Aquellos que se conectan exclusivamente a servidores Electrum de confianza y autohospedados no están expuestos a este ataque basado en servidores en particular.
Reflexiones Finales
Este incidente expone una curiosa contradicción: una billetera diseñada para proteger claves privadas aún podría ser manipulada para solicitar una firma perfectamente válida para un pago que su propietario nunca tuvo la intención de realizar. Además, el fabricante de billeteras de hardware Keystone reveló una violación de datos de clientes el sábado, después de que el acceso no autorizado a su sitio web expusiera nombres y direcciones de envío.