Coldcard Firmware Flaw Enabled $70M Bitcoin Theft
CriticalAffected firmware versions
- Mk2/Mk3: 4.0.0 through 4.1.9 (fixed in 4.2.0)
- Mk4/Mk5: anything before 5.6.0
- Q: anything before 1.5.0Q
- Edge builds: before 6.6.0X (Mk4/Mk5) or 6.6.0QX (Q)
What happened
An attacker drained 1,196 Bitcoin addresses in 41 minutes on July 30, stealing 1,082.65 BTC worth about $70.2 million at the time. Galaxy Research mapped the sweep and linked it to a firmware flaw in Coldcard hardware wallets from Coinkite.
A March 2021 firmware integration error routed seed generation to a deterministic software pseudorandom number generator (PRNG) instead of the STM32 hardware RNG. An attacker who can constrain the device UID, timer state, and prior RNG history can reproduce candidate seeds offline, derive addresses, and match them against public blockchain data.
Coinkite released emergency firmware on July 31 for all affected models, but it does not fix existing seeds. Effective entropy was estimated at roughly 40 bits on Mk3 and about 72 bits on later models.
Who is affected
Owners of Coldcard Bitcoin hardware wallets (Mk2, Mk3, Mk4, Mk5, and Q models) who generated seeds on vulnerable firmware versions.
Specifically: Mk2/Mk3 versions 4.0.0–4.1.9 (fixed in 4.2.0); Mk4/Mk5 before 5.6.0; Q before 1.5.0Q; and corresponding edge builds. Seeds created with strong dice rolls or strong unique BIP-39 passphrases are less or not affected by this bug alone. Multisig setups are safer if not entirely built from affected devices.
Why it matters
Hardware wallets are trusted for offline key storage, yet a PRNG fallback reduced entropy enough for practical offline seed recovery and mass address sweeping. Once a weak seed is created, patching firmware does not remediate it—coins must be moved to a new seed.
This shows how subtle build-config and library-fallback errors in crypto hardware can lead to catastrophic, irreversible loss at scale, undermining the core security promise of air-gapped devices.
How it could have been prevented
Immediately update to the latest Coinkite emergency firmware for your model. Generate a completely new seed on the patched firmware (or with verified high-entropy dice rolls) and transfer all funds to addresses derived from the new seed. Do not restore the old seed to any wallet.
Use a strong unique BIP-39 passphrase and prefer multisig with non-affected devices or software wallets where possible. Verify receive addresses carefully and consider air-gapped verification practices. Clear any cached data if relevant and monitor blockchain for unexpected activity.
Relevant professional terms
- Hardware wallet
- A physical device that stores cryptocurrency private keys offline to protect them from online hacks.
- Deterministic PRNG
- A pseudorandom number generator whose entire output sequence is fully predictable once its initial seed state and any inputs are known, offering no true entropy after setup.
