Electrum Patches Flaw That Let Rogue Servers Redirect Bitcoin Payments
The Bitcoin software wallet Electrum has fixed a high-severity vulnerability that allowed rogue servers to swap pending transactions and send funds to attacker-controlled addresses, according to a report by Decrypt. At least one user has confirmed losing money to the exploit.
How the flaw redirected pending payments
The attack targets the way Electrum treats unconfirmed transactions. When a user broadcasts a payment through a compromised server, that server can suppress the genuine transaction and insert a fake conflicting one. The substitute shows an attacker-controlled output address and a zero fee, so the payment appears stuck.
Because Electrum did not verify signatures on unconfirmed transactions arriving from the server, the spoofed entry showed up in the wallet history as if it were legitimate. A user who then fee-bumped what looked like a stalled payment signed and broadcast a new, valid transaction. That transaction paid the attacker, and it was the first one to reach the network, since the original payment was never sent.
Patch covers wallet inputs only
Electrum 4.8.3, released on October 24, affects all earlier versions and now verifies signatures on wallet-owned inputs before displaying unconfirmed transactions. Incoming transactions from external senders remain unverified under the fix.
Electrum developer SomberNight, who published the advisory, noted that attackers could grind the fake transaction's output address so that its last four characters match the user's intended destination. Anyone checking only the tail of a long Bitcoin address would then see an apparent match.
Confirmed losses so far
Decrypt reports that one user, identified as Raju-K12, confirmed a loss on October 18 after fee-bumping a manipulated transaction. The report describes the exploit as confirmed, and the figures for affected funds are not given in the facts available.
Open questions
- How many users have lost funds to the exploit so far?
- Will incoming transactions from external senders receive signature verification in a future release?