Coinkite, the Canadian company behind the Coldcard hardware wallet, disclosed on July 31 that a critical flaw in its firmware’s seed generation allowed an attacker to drain approximately 594 BTC, worth roughly $38 million, from nearly 500 wallets. The entire attack took less than 30 minutes.

The vulnerability traces back to a software change made in March 2021 with firmware version 4.0.0. During an integration of Bitcoin Core’s libsecp256k1 library, a build configuration error inadvertently replaced the device’s secure hardware random number generator with a predictable software-based fallback. That fallback used non-secret chip data, which dramatically weakened the randomness of the seeds generated on affected devices.

How the flaw actually worked

In this case, Coldcard’s Mk3 devices were left with roughly 40 bits of effective entropy. Instead of the astronomically large number of possible seed combinations that should protect a wallet, the actual keyspace shrunk to something an attacker with sufficient computing power could brute-force. Later models, including the Mk4 and Q, fared somewhat better at around 72 bits, but that’s still well below the 128 or 256 bits that the crypto security community considers the bare minimum.