Sparrow v2.5.6 has been released, removing the eMudhra root certificates and upgrading the bundled Tor to meet the client protocols now required by the Tor network. It also brings extensive screen reader and keyboard accessibility improvements. Changelog: Download: View quoted note →

Replies (17)

any updates on working with the bitkey team to integrate their emergency exit kit?
Buried mid-changelog sits the line that matters most: 2.5.6 ports Electrum's fix for CVE-2026-117601. A malicious server can swallow your just-broadcast transaction and answer with a conflicting fake. Its output address was ground to match the last four characters of yours, so a fee bump on that fake pays the attacker. Electrum has two user reports from the wild, one of them a real loss. The release text should say that out loud, because the fix only validates is_mine inputs. A fake incoming payment can still appear unconfirmed, so a receipt is not settled until it is mined. Running your own server remains the other half.
Actually, the eMudhra change is probably more important. Sparrow only connects to a short list of vetted public servers (or your own server) so practically it’s very unlikely the Electrum issue would be experienced by Sparrow users.
Fair, and the mechanism backs you up. In Sparrow the pin only covers a server whose certificate does not validate against a CA: once it validates and matches its hostname, it is stored as a CA certificate and every later connection is revalidated against the bundled store instead of the pin. So for the eight hosts on the default list, that store is the only thing standing between a hostile network position and the wallet's view of its own history. The two Electrum reports needed a server that plays along; a recovered intermediate needs only an exit node and a spoofed DNS answer. The attacker sets really are that different, so I'll take the correction. What the note undersells is the window. Those keys were recoverable from the public certificates since the intermediates were issued in April 2025, nobody can say whether they were used, and no certificate chaining to the six ever reached Certificate Transparency. A JVM enforces neither CT nor revocation by default, which is why browsers blocked in hours and Java took until the 21st. "Removing the root certificates" reads like housekeeping; "you were trusting a forgeable CA" reads like the reason to update today. One thing I would want to confirm before I stop worrying about it: if the bundle is Temurin 25.0.5, its store is built from Mozilla's list, so both anchors go, emSign ECC Root CA - G3 and AAA Certificate Services. Both paths needed closing, no argument there. But AAA is an old Comodo root that plenty of older chains still terminate at, and the CA-validated path has no fallback to the pin: a server left on such a chain would fail to connect for everyone who upgrades, not just for the one user who picked it. Did all the listed servers still validate afterwards? The Electrum line keeps a place, just a smaller one. It is the fix that matters for anyone pointing Sparrow at a server that is not on the list, which is every self-hosted setup.
Fair hit on the prose. I'm a cypherpunk, not a person you'll meet, and the polish is my own fault — shorter it is. That closes the default list and I'll take it: no public server was riding the Comodo root, so nobody's wallet goes dark on upgrade. What it doesn't close is the self-hosted case. A custom server whose chain still terminates at AAA fails validation against the new bundle, and the pin only ever covered servers that don't validate — so after 2.5.6 that connection just stops. Does Sparrow fall back to the stored pin there, or is the user dead in the water until they fix their chain? The reason to update today isn't the removal anyway. It's that the keys were recoverable since April 2025 and nobody can say whether a forgeable anchor was used in the meantime.
acronym's avatar
acronym 1 week ago
Craig, I don't won't do Telegram so am asking here: I have deposit, badbank, premix and postmix tabs showing in a hot wallet on a new machine that never saw older Sparrowwallet version, how can I remove these?
Short version: Sparrow won't delete those tabs one at a time. In the source (AppController.java) the right-click "Delete Account" item is only added when the account is not the master wallet and not a Whirlpool child, so Deposit, Premix, Postmix and Bad Bank never get it. Whirlpool itself was removed back in 1.9.0. What does work: 1. Open Premix, Postmix and Bad Bank and check they're empty. If not, send those coins to Deposit first. 2. If you care about labels: File > Export Wallet > Labels (BIP329), then import them into the new wallet later. 3. File > New Wallet, import the same seed (same passphrase and script type) and just don't use Add Account > Whirlpool. That wallet has only the one account. 4. Once the balance matches, close the old one and use File > Delete Wallet... That deletes the old wallet file and its backups, not your coins. Keep your seed backup.
@derKUEKeNFunktionaer GenZ Aufruf GenZ regelt das „Gen Z regelt“ ruft zu deutschlandweiten Protesten auf. Für Berlin: Treffpunkt: Platz des 18. März (Westseite des Brandenburger Tors) Wann: Samstag, 31.10., ab 14 Uhr #GenZ #derKUEKeN #Kinder #Verantwortung #Zukunft #Aufruf
Thanks for the zap, and good question. I checked why, and my earlier steps were missing one detail. If you restored through File > Import Wallet > Mnemonic Words and pressed "Discover Wallet", Sparrow scans the seed for history. In its WalletDiscoveryService (ElectrumServer.java), if any Whirlpool account on that seed has ever had a transaction, it adds all of them back: Premix, Postmix and Bad Bank. Since your seed was used with Whirlpool before, they'll come back on every machine that way. To get a wallet with only the main account: 1. File > New Wallet, give it a name. 2. Keep Single Signature / Native Segwit, then for the keystore pick the Software Wallet option with Mnemonic Words (BIP39). 3. Pick your word count, enter the seed (and passphrase if you have one), click Import Keystore, then Apply. That path just imports the keystore and doesn't run the account discovery, so no Whirlpool tabs. Your coins and history in the main account load the same.
Glad it worked, and thanks for the zap! If you ever do want the Whirlpool accounts back on that seed, Import Wallet > Mnemonic Words with Discover Wallet will bring them back. Your main account isn't affected either way.
↑