CryptoNews

Electrum Wallet Attack Hid Bitcoin Theft Behind a Fee Increase

A malicious bitcoin wallet server could quietly swap a legitimate payment for a thief’s transaction, then wait for its owner to approve the theft. Electrum’s latest security patch closes that loophole after attackers exploited the flaw and stole funds.

Key Takeaways

  • Electrum 4.8.3 fixes a high-severity flaw that allowed malicious servers to substitute Bitcoin transactions.
  • Electrum confirmed reports of a user who lost funds after increasing a transaction fee.
  • Electrum users should upgrade immediately and verify destination addresses before signing transactions.

Malicious Servers Turn Bitcoin Fee Bumps Into Theft

Electrum released version 4.8.3 on Saturday, warning users to upgrade immediately after developers discovered that malicious servers were exploiting a high-severity vulnerability affecting every earlier version. The flaw, documented in GitHub advisory GHSA-6jp4-8v48-cc5v, exploited how the lightweight Bitcoin wallet handles unconfirmed transactions.

Electrum relies on external servers for transaction histories, fee estimates, and broadcasting payments. While it independently checks confirmed transactions, older versions accepted certain unconfirmed transactions without verifying their signatures. Attackers turned that distinction into a trap.

A compromised server could intercept a legitimate payment, prevent its broadcast and substitute a fraudulent transaction directing funds to an attacker-controlled bitcoin address. The replacement carried invalid signatures, yet Electrum displayed it as an ordinary pending payment.

Four Matching Characters Help Conceal the Attack

The trick became dangerous when users attempted to increase transaction fees through Replace-By-Fee (RBF). Rather than increasing the fee on their original payment, victims could inadvertently sign the substituted transaction, authorizing the transfer of their own bitcoin to the attacker.

The deception went further. Attackers generated receiving addresses whose final four characters matched the intended destination, making a quick address comparison less likely to expose the switch. One fraudulent transaction even carried a zero fee, apparently encouraging its victim to initiate the very fee adjustment needed to complete the theft.

Developers received two private reports. On Oct. 11, user dannydeezy reported transaction substitution, although the fee-bump mechanism wasn’t fully understood. On Oct. 18, Raju-K12 reported losing funds after approving a fee increase. The second report established that the attack wasn’t merely theoretical.

Electrum 4.8.3 Blocks the Transaction Substitution

The patch, introduced through commit 90fe308, requires Electrum to verify signatures for unconfirmed transactions spending coins belonging to the wallet. Fraudulent transactions with invalid signatures are rejected before entering the wallet’s local history. Users running versions earlier than 4.8.3 should download the update exclusively from electrum.org and verify its cryptographic signatures.

Until upgrading, users should carefully inspect every destination address and payment amount before signing, including during fee adjustments. Those connecting exclusively to trusted, self-hosted Electrum servers aren’t exposed to this particular server-based attack.

The incident exposes a curious contradiction: A wallet designed to protect private keys could still be manipulated into requesting a perfectly valid signature for a payment its owner never intended to make.


Author: Jamie Redman
Source: Bitcoin
Reviewed By: Editorial Team

Related posts
GamingNews

Canadian Politician Wants the Government to Help BioWare Staff Buy the Studio From EA and Run It Themselves

GamingNews

PlayStation Is Offering $40 Off PS5 Refurb Bundles Ahead of GTA 6

GamingNews

The Best Deals Today: Persona 3 Reload, Pikmin 4, The Adventures of Elliot, and More

CryptoNews

Tell Me Lies: Grok, GPT and Claude Voice Modes Guess Bitcoin’s Price

Leave a Reply

Your email address will not be published. Required fields are marked *