Critical, CVSS 9.3PyPIAmendedPublished
Electrum: Malicious server can replace a just-broadcast tx and try to trick user into RBF-ing it
CVE-2026-117601 · GHSA-6jp4-8v48-cc5v
- Affected
- PyPI electrum < 4.8.3
- Fixed in
- 4.8.3· Vendor fix available
- Issue
- The main Electrum server the client connects to is trusted with mempool ("unconfirmed") transactions. This is documented design. [0] However now someone figured out a way to practically exploit it: - when the client broadcasts a new tx1, a malicious server can swallow it, - and update the client's history with a conflicting (invalid) tx2 that replaces the outputs with the attacker's output address. - Tx2 has invalid signatures, but this is not checked (due to light client design). - The wallet will display tx2 as an unconfirmed transaction - tx1 will not be displayed. - If the client then manually RBF fee-bumps tx2, the client will sign it with a higher fee, and hence pay the attacker. Fixes Commit 90fe30822 contains the fix [1], included in version 4.8.3. The client now verifies the signatures of `wallet.is_mine` inputs for mempool txs (before adding them to its local history). Users…
Recommended action: Upgrade to 4.8.3 or later, then redeploy and verify.A vendor fix does not resolve your finding until you verify it in your own systems.