Electrum, one of the oldest bitcoin wallets, has released version 4.8.3 to fix a high-severity flaw that its developers say some servers were already exploiting. A malicious server could hide a payment the user had just sent, show a fake one paying an attacker instead, and wait for the user to raise its fee. One user lost money that way, according to the project’s security advisory, published at 12:52 UTC on Saturday.
Every version before 4.8.3 is affected. The developers urged all users to upgrade on X, and the release notes label it a security update.
Why a light wallet trusts its server
Electrum is a light client. Rather than downloading the whole blockchain, it asks an Electrum server about the user’s transactions. Confirmed transactions are checked against block headers, but unconfirmed ones, those still waiting in the mempool, are taken largely on the server’s word.
The project’s FAQ has always said as much.
That trust was the opening. According to the advisory, the attack ran in four steps:
- The user sends a payment. A malicious server quietly swallows it instead of passing it to the network.
- The server reports a different transaction in its place, spending the same coins but paying an address the attacker controls.
- That fake has invalid signatures, so the network would never accept it. But the wallet did not check, and showed it as the user’s own unconfirmed payment.
- If the user then used replace-by-fee (RBF), the feature that re-signs a stuck transaction with a higher fee, the wallet signed a genuine, valid payment to the attacker.
Two details make it nastier. Both users who reported it said the attacker’s address had been ground to match the last four characters of the real one, and in one case the fake carried almost no fee, presumably to invite a bump.
I’ll call it the swapped envelope: the letter you posted never left the counter, and the one you are asked to re-stamp is addressed to someone else.
What changed in 4.8.3
The fix makes the wallet verify the signatures on unconfirmed transactions that spend its own coins before adding them to its history. A forged replacement now fails that check.
The advisory sets out the timeline. A first private report arrived on 11 Oct, a second user reported a loss on 18 Oct, the fix was tagged on 23 Oct, and binaries and the disclosure followed on 24 Oct. It does not give the amount lost.
What to do
- Upgrade to 4.8.3 from the official download page, and verify the signature of what you download.
- Until you have, check the destination address and amount, in full, every time you sign, including fee bumps.
- If a payment you just sent suddenly shows a different address, do not bump it. Reconnect to another server and check a block explorer.
- Users who connect only to a server they run or trust are not affected, the developers say.
Electrum also warned on X that Windows Defender may wrongly flag a file in the new Windows build as malicious, calling it a false positive.
What would change my mind
The fix has a stated limit. The wallet still validates only transactions that spend its own coins, so incoming unconfirmed payments shown by a server are not checked in the same way.
If attackers turn to faking incoming payments, the light-client trade-off will be back in the spotlight. The Defiant also reported the release.
This is the second bitcoin software project in two days to put speed first on security. See Bitcoin Core’s new policy on easy-to-find bugs, and, for another warning about checking what you sign, the phishing link posted from Coldcard’s own X account. For the basics, see what a private key is.
The bottom line: a light wallet is only as honest as its server, so upgrade, and read the address before you sign anything twice.
— Alasdair
This article is for information only and is not investment advice.
