Una falla en la seguridad de una billetera de bitcoin permitió que servidores maliciosos engañaran a los usuarios para que firmaran pagos a atacantes cuando intentaban acelerar las transacciones, con desarrolladores confirmando al menos un caso en el que se robó dinero.
Electrum, una de las carteras de software más antiguas de Bitcoin, divulgó la vulnerabilidad el sábado, señalando que algunos servidores ya lo estaban explotando. Los desarrolladores recibieron dos informes en octubre, incluido uno de un usuario que perdió fondos después de aprobar lo que parecía ser un aumento rutinario en las tarifas de transacción.
El ataque explotó la forma en que Electrum maneja los pagos en bitcoin que aún no han sido confirmados por la red.
A diferencia de un nodo completo de Bitcoin, Electrum depende de servidores externos para recuperar historiales de transacciones y transmitir pagos. Antes de la corrección, la cartera confiaba en que esos servidores reportaran transacciones pendientes sin verificar si sus firmas eran válidas.
Un atacante que controle uno de esos servidores podría interceptar un pago antes de que llegue a la red de Bitcoin y reemplazarlo en el historial de la billetera con una transacción falsa. Este reemplazo gastó las monedas del usuario a una dirección controlada por el atacante, utilizando firmas inválidas que Electrum no logró detectar.
Pero la billetera luego mostró el pago falso como pendiente, y la trampa ocurrió cuando los usuarios intentaron acelerar el proceso.
Bitcoin permite que las transacciones no confirmadas sean reemplazadas por versiones que incluyen tarifas más altas, una función conocida como Replace-by-Fee. Si un usuario seleccionara esa opción, Electrum podría tomar la transacción fraudulenta y firmar un reemplazo válido, enviando las monedas al atacante.
En un caso reportado, la transacción maliciosa no tenía ninguna comisión, lo que hacía que pareciera detenida. Los atacantes también generaron direcciones receptoras cuyas últimas cuatro caracteres coincidían con el destino legítimo, dificultando la detección de la sustitución durante una revisión rápida.
El primer informe, presentado el 11 de octubre, involucraba una cartera multisig de dos de tres firmas utilizando dos dispositivos hardware Trezor. El usuario había verificado el pago legítimo en ambos dispositivos, pero posteriormente notó una transacción saliente diferente en el historial de la cartera (el usuario no reportó la pérdida de fondos).
coindesk.com