Electrum has fixed a high-severity security vulnerability that enabled attackers to redirect Bitcoin payments when users attempted to increase transaction fees. The exploit allowed funds to be stolen without exposing or compromising the victim’s private keys.
The wallet’s developers disclosed the flaw on Oct. 24, confirming that malicious servers had used it and that at least one user lost Bitcoin after unknowingly approving a fraudulent transaction.
The vulnerability affects Electrum versions earlier than 4.8.3. It exploited the wallet’s dependence on external servers to monitor unconfirmed transactions, allowing attackers to alter the payment details displayed to users before they authorised an additional fee.
Electrum’s disclosure followed two complaints received on Oct. 11 and Oct. 18. In the first case, a user saw an unfamiliar transaction appear in the wallet after broadcasting a payment. The second report involved a user who lost funds while trying to accelerate a pending transfer.
In both incidents, the attackers created Bitcoin addresses whose final four characters matched those of the intended recipients. That could mislead users who checked only part of an address before approving a transaction.
Electrum did not reveal how much Bitcoin was stolen, but its maintainers said some servers were actively conducting the attack.
The exploit resulted from the way Electrum handled transaction information supplied by connected servers. After a user broadcast a Bitcoin payment, a malicious server could withhold the genuine transaction from the network and provide a conflicting version directing the funds to an address controlled by the attacker.
The replacement transaction initially contained invalid signatures and therefore could not be processed as a legitimate payment. However, affected Electrum clients failed to check those signatures before showing the substituted transaction in the wallet’s unconfirmed transaction history.
This caused the genuine payment to disappear from that view, leaving the user with a manipulated transaction that appeared to be waiting for confirmation.
Attackers could then take advantage of Bitcoin’s Replace-by-Fee feature, which lets users raise transaction fees to encourage miners to confirm delayed payments. If a victim increased the fee on the substituted transaction, Electrum generated new signatures approving its altered payment details. That made the attacker’s transaction valid and allowed the funds to be transferred without access to the user’s private keys.
In the Oct. 18 incident, the fraudulent transaction reportedly carried a zero fee, which may have prompted the victim to increase it.
Electrum’s latest release adds checks for signatures on wallet-owned inputs before unconfirmed transactions are added to the client’s local history. This blocks the reported substitution method before it can reach the fee-adjustment stage.
The developers tagged version 4.8.3 on Oct. 23 and distributed the update on Oct. 24, at the same time as the public security disclosure.
They advised users to download the patch from Electrum’s official website and to check complete recipient addresses and payment amounts before signing transactions. Clients connected only to trusted servers, including privately operated servers, are not affected. The patch does not add signature verification for every incoming transaction.
