Skip to content

electrum: 4.8.3 for BTC and LTC; refuse random servers on mainnet - #8

Merged
sethforprivacy merged 1 commit into
mainfrom
sfp/electrum-4.8.3
Oct 26, 2026
Merged

sethforprivacy merged 1 commit into
mainfrom
sfp/electrum-4.8.3

Conversation

@sethforprivacy

Copy link
Copy Markdown

Bumps both Electrum images to 4.8.3, and makes the Electrum containers refuse to start on mainnet with no pinned server.

Why

Electrum 4.8.3 is a security release. It fixes GHSA-6jp4-8v48-cc5v (high): a malicious server can replace a transaction you just broadcast. 4.7.0 through 4.8.2 were also security releases, and we were still on 4.6.2. Electrum-LTC 4.8.3 is the Litecoin port of the same release.

With ELECTRUM_SERVER_ADDRESS empty, Electrum connects to random public servers. Production and staging already pin our own servers with --oneserver. Now the entrypoint also enforces it: on mainnet an empty address is a startup error, not a silent fallback. Testnet behaves as before.

Verification

  • BTC: Electrum-4.8.3.tar.gz. Good signatures from ThomasV, SomberNight (release key) and Emzy, using the keys in spesmilo/electrum's pubkeys/.
  • LTC: electrum-ltc-4.8.3-x86_64.AppImage. Good signature from 7FE6094DCB3A76262EE4C6896EC371A844F2C48E (Hector Chu), the same key that signed the 4.6.2-3 and 4.7.0 builds.
  • RPC compatibility: every method autoforward and the seed importer call has the same signature in 4.6.2 and 4.8.3, in both forks. The only difference is that payto dropped nocheck, which we never pass. fee_policy.default is unchanged.
  • Local test of the BTC image: with an empty server on mainnet it exits 1. With btc-electrum.cakewallet.com it reports version 4.8.3, auto_connect: false and spv_nodes: 1.
  • Staging: btcpay-usa-dev-01 deployed at this commit (ae07d0c) with every play gate passing. Both Electrums report 4.8.3, auto_connect: false and spv_nodes: 1 on our servers. Balances and receiving-address counts match the pre-upgrade baseline. BTC and LTC forwards were built and signed (dry run), XMR was built do_not_relay, and ZEC reported "would sweep". There were no Electrum errors. Both images built on the host exit 1 when the server is blank and TESTNET=0. The wallet volumes were backed up before the upgrade.

Electrum 4.8.3 is a security release (GHSA-6jp4-8v48-cc5v: a malicious
server can replace a just-broadcast transaction), and 4.7.0-4.8.2 were
security releases too. Electrum-LTC 4.8.3 tracks it.

- BTC: Electrum-4.8.3.tar.gz, signatures from ThomasV, SomberNight and
  Emzy verified.
- LTC: electrum-ltc-4.8.3-x86_64.AppImage, signed by the same key
  (7FE6094DCB3A76262EE4C6896EC371A844F2C48E, Hector Chu) as 4.6.2-3.

The RPCs autoforward and the seed importer call have the same signatures
in 4.8.3; only payto lost nocheck, which we never pass.

An empty ELECTRUM_SERVER_ADDRESS let Electrum pick random public
servers. On mainnet the entrypoints now refuse to start instead.
@sethforprivacy
sethforprivacy merged commit c8fcf86 into main Oct 26, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant