Electrum developers patched a vulnerability that let a malicious server hide a user's just-broadcast Bitcoin transaction and show a fake one that pays the attacker.
The developers said some servers were performing the attack in the wild, and one user lost money after raising the fee on the fake transaction.
The fix shipped in Electrum 4.8.3, released on Oct. 24, and the developers urged all users to upgrade.
Developers of Electrum, a Bitcoin (
BTC) wallet, have patched a vulnerability that some malicious servers were exploiting to trick users into paying them.
The flaw affected Electrum versions before 4.8.3, which was published on Saturday. Users who connect to servers they trust, such as their own, were not affected, the developers said.
"This release fixes a critical security issue, so we urge all users to upgrade," Electrum
said on X.
Electrum is a light client that checks mined transactions with
simplified payment verification but trusts the server it connects to for unconfirmed transactions, which the developers describe as documented design.
When a user broadcast a new transaction, a malicious server could "swallow it" and replace it in the wallet's history with a conflicting, invalid transaction sending the funds to the attacker, according to the
security advisory. The wallet did not check the fake transaction's signatures.
If the user then manually raised the fee on the fake
mempool transaction, which the attacker's server had set at zero in one case, the wallet would sign it with a higher fee and "hence pay the attacker," the advisory said.
"Some servers are performing this attack in the wild," the developers wrote. They received two reports, and one user lost money after bumping the fee.
The advisory did not say how much was lost.
Both users said the attacker's address was brute-forced to match the last four characters of the legitimate address. One user reported that the original transaction was never propagated over the Bitcoin network, indicating the server held it, the developers said.
Version 4.8.3 makes the wallet verify signatures on its own inputs in unconfirmed transactions before adding them to its history. Users who cannot upgrade should check output addresses and amounts before signing any transaction, the developers said.
The advisory rated the issue's severity as high. The first private report came on Oct. 11, and public disclosure followed on Oct. 24.
This article contains links to third-party websites or other content for information purposes only ("Third-Party Sites"). The Third-Party Sites are not under the control of CoinMarketCap, and CoinMarketCap is not responsible for the content of any Third-Party Site, including without limitation any link contained in a Third-Party Site, or any changes or updates to a Third-Party Site. CoinMarketCap is providing these links to you only as a convenience, and the inclusion of any link does not imply endorsement, approval or recommendation by CoinMarketCap of the site or any association with its operators. This article is intended to be used and must be used for informational purposes only. It is important to do your own research and analysis before making any material decisions related to any of the products or services described. This article is not intended as, and shall not be construed as, financial advice. The views and opinions expressed in this article are the author's [company's] own and do not necessarily reflect those of CoinMarketCap.