#electrum修复4.8.3前版本高危漏洞
Las 62 firmas se verificaron correctamente, pero la dirección de destino no era la tuya
📣 盘面异动群里喊
Electrum, una veterana cartera de Bitcoin, publicó el 24 de octubre una actualización de seguridad: la versión 4.8.3. El aviso oficial clasificó la vulnerabilidad como de gravedad alta. Afecta a todas las versiones anteriores a la 4.8.3. No se le asignó ningún número CVE, pero el aviso incluía una frase contundente: ya hay servidores que lo hacen en entornos reales 🦖
Si normalmente usas una cartera ligera, no descargas toda la cadena de bloques y confías en que un servidor te informe de tu saldo y tus transacciones. La documentación oficial dice que es una concesión deliberada del diseño. El problema es que alguien convirtió esa concesión en un arma ⚠️
Un atacante controla el servidor al que te conectas. Pulsas «Transmitir» en la cartera, pero el servidor se traga la transacción real y esta nunca llega al mempool. Luego, el servidor le envía a tu cartera una transacción falsa. Tiene exactamente las mismas entradas, versión y tiempo de bloqueo que la que acabas de crear. Los scripts de firma de las 31 entradas son idénticos byte por byte. La única diferencia es que la dirección de destino se sustituyó por la del atacante. Además, esa dirección falsa se calculó una y otra vez hasta conseguir que sus últimos 4 caracteres coincidieran exactamente con los de la dirección a la que querías enviar los fondos.
Todas las firmas de la transacción falsa son inválidas, pero la cartera ligera no verifica los scripts, así que no se da cuenta. Entonces, la transacción real desaparece de tu historial y solo queda una transacción falsa sin confirmar. El importe parece ser exactamente el que querías pagar. El estafador también fijó una comisión cercana a cero y espera a que te des cuenta de que la transferencia está atascada y pulses manualmente el botón para subirla.
En cuanto subes la comisión, la cartera firma esa transacción falsa. Tú mismo acabas de firmar la entrega de tus monedas al atacante 💥
El aviso menciona dos casos reales. El 11 de octubre, el primer usuario informó del problema de forma privada. Usaba una antigua configuración multifirma 2 de 3, dos carteras físicas Trezor, 31 entradas y 1 salida. Verificó la dirección en las pantallas de ambos dispositivos antes de transmitir la transacción. Sin embargo, en el historial apareció una transacción sin confirmar destinada a una dirección desconocida. El 18 de octubre, un segundo usuario informó del problema. Subió la comisión y perdió el dinero. Desde el primer informe hasta que se etiquetó la versión 4.8.3 pasaron solo 12 días; hasta la publicación de los binarios, 13 días.
Para mí, lo importante de este caso no es que Electrum escribiera mal el código, sino un límite que todos damos por sentado: el servidor en el que confías es, en realidad, tu libro contable. Das por hecho que ocurrió lo que el servidor te muestra. Esta vez, esa idea se convirtió en una ruta de ataque ejecutable.
Incluso después de la corrección, la versión 4.8.3 solo verifica las entradas que pertenecen a tu propia cartera. Las transacciones que otros te envían siguen sin verificarse, porque los clientes ligeros no tienen un motor de consenso completo. La propia empresa reconoce que para cubrir esta parte habría que verificar de forma recursiva las transacciones anteriores aún no confirmadas, lo cual tendría un coste demasiado elevado.
Tres cosas que puedes hacer: actualiza ya a la versión 4.8.3; antes de subir una comisión, comprueba siempre la dirección de destino y el importe; y, a largo plazo, ejecuta tu propio servidor. El aviso oficial afirma claramente que los usuarios conectados a su propio servidor no están afectados por esta vulnerabilidad.
¿Sueles usar una cartera ligera o ejecutas tu propio nodo? Cuéntamelo en los comentarios.
Toca el avatar para ver la transmisión en directo.
Cada día te ayudamos a seguir las noticias más importantes sobre la seguridad de Bitcoin. No solo te contamos qué ocurre, sino que también te ayudamos a entender la lógica y las oportunidades que hay detrás 👀🚀
Las 62 firmas se verificaron correctamente, pero la dirección de destino no era la tuya
📣 盘面异动群里喊
Electrum, una veterana cartera de Bitcoin, publicó el 24 de octubre una actualización de seguridad: la versión 4.8.3. El aviso oficial clasificó la vulnerabilidad como de gravedad alta. Afecta a todas las versiones anteriores a la 4.8.3. No se le asignó ningún número CVE, pero el aviso incluía una frase contundente: ya hay servidores que lo hacen en entornos reales 🦖
Si normalmente usas una cartera ligera, no descargas toda la cadena de bloques y confías en que un servidor te informe de tu saldo y tus transacciones. La documentación oficial dice que es una concesión deliberada del diseño. El problema es que alguien convirtió esa concesión en un arma ⚠️
Un atacante controla el servidor al que te conectas. Pulsas «Transmitir» en la cartera, pero el servidor se traga la transacción real y esta nunca llega al mempool. Luego, el servidor le envía a tu cartera una transacción falsa. Tiene exactamente las mismas entradas, versión y tiempo de bloqueo que la que acabas de crear. Los scripts de firma de las 31 entradas son idénticos byte por byte. La única diferencia es que la dirección de destino se sustituyó por la del atacante. Además, esa dirección falsa se calculó una y otra vez hasta conseguir que sus últimos 4 caracteres coincidieran exactamente con los de la dirección a la que querías enviar los fondos.
Todas las firmas de la transacción falsa son inválidas, pero la cartera ligera no verifica los scripts, así que no se da cuenta. Entonces, la transacción real desaparece de tu historial y solo queda una transacción falsa sin confirmar. El importe parece ser exactamente el que querías pagar. El estafador también fijó una comisión cercana a cero y espera a que te des cuenta de que la transferencia está atascada y pulses manualmente el botón para subirla.
En cuanto subes la comisión, la cartera firma esa transacción falsa. Tú mismo acabas de firmar la entrega de tus monedas al atacante 💥
El aviso menciona dos casos reales. El 11 de octubre, el primer usuario informó del problema de forma privada. Usaba una antigua configuración multifirma 2 de 3, dos carteras físicas Trezor, 31 entradas y 1 salida. Verificó la dirección en las pantallas de ambos dispositivos antes de transmitir la transacción. Sin embargo, en el historial apareció una transacción sin confirmar destinada a una dirección desconocida. El 18 de octubre, un segundo usuario informó del problema. Subió la comisión y perdió el dinero. Desde el primer informe hasta que se etiquetó la versión 4.8.3 pasaron solo 12 días; hasta la publicación de los binarios, 13 días.
Para mí, lo importante de este caso no es que Electrum escribiera mal el código, sino un límite que todos damos por sentado: el servidor en el que confías es, en realidad, tu libro contable. Das por hecho que ocurrió lo que el servidor te muestra. Esta vez, esa idea se convirtió en una ruta de ataque ejecutable.
Incluso después de la corrección, la versión 4.8.3 solo verifica las entradas que pertenecen a tu propia cartera. Las transacciones que otros te envían siguen sin verificarse, porque los clientes ligeros no tienen un motor de consenso completo. La propia empresa reconoce que para cubrir esta parte habría que verificar de forma recursiva las transacciones anteriores aún no confirmadas, lo cual tendría un coste demasiado elevado.
Tres cosas que puedes hacer: actualiza ya a la versión 4.8.3; antes de subir una comisión, comprueba siempre la dirección de destino y el importe; y, a largo plazo, ejecuta tu propio servidor. El aviso oficial afirma claramente que los usuarios conectados a su propio servidor no están afectados por esta vulnerabilidad.
¿Sueles usar una cartera ligera o ejecutas tu propio nodo? Cuéntamelo en los comentarios.
Toca el avatar para ver la transmisión en directo.
Cada día te ayudamos a seguir las noticias más importantes sobre la seguridad de Bitcoin. No solo te contamos qué ocurre, sino que también te ayudamos a entender la lógica y las oportunidades que hay detrás 👀🚀