Coldcard RNG flaw traced to 2021 build error that disabled hardware entropy for years

Coldcard RNG flaw traced to 2021 build error that disabled hardware entropy for years

N
News Editor
2026-08-03 04:37:53
A newly disclosed technical analysis has traced Coldcard’s seed-generation flaw to a build configuration mistake introduced in March 2021, when the wallet maker migrated elliptic-curve operations to Bitcoin Core’s libsecp256k1 library. According to Block’s engineering team, the firmware checked whether a hardware-randomness flag was defined rather than whether it was actually enabled. Because the flag had been set to 0, the condition still passed, sending devices to a MicroPython software fallback instead of the hardware random number generator. Block said the fallback was not a true source of randomness. Its seed material was derived from a chip serial number, a timer and clock registers, making the output predictable or drawn from a very limited range. The company said seeds on Mk2 and Mk3 devices running v4 firmware were close to fully reproducible, while Mk4, Mk5 and Q models still had at most about 2^32 possibilities in theory. Coinkite has since halted shipments, destroyed affected inventory and published patched firmware versions for each model line. It also told users not to generate new seeds on affected devices before updating. While third-party on-chain estimates have put potential losses between about $38 million and $89 million, Coinkite has not confirmed any user losses, and Block said it has not yet completed full testing to confirm exploitability.

The root cause behind Coldcard’s seed randomness flaw was disclosed in early August, with Block’s engineering team tracing the issue to a coding change introduced in March 2021. After receiving reports of stolen user funds, the team said it identified the problem on July 30 alongside other researchers: a piece of code written during a firmware transition effectively bypassed the device’s hardware random number generator and switched seed generation to a predictable software substitute. The bug remained unnoticed until recently.

Coldcard RNG flaw traced to 2021 build error that disabled hardware entropy for years 2

A build check sent firmware down the wrong randomness path

According to Block’s technical analysis, the mistake was introduced when Coldcard moved elliptic-curve operations to Bitcoin Core’s libsecp256k1 library in March 2021. The firmware checked whether a configuration flag for hardware randomness had been defined, rather than whether it had actually been enabled.

That distinction mattered. The flag’s value had been set to 0, meaning disabled, but the check still passed. As a result, the firmware called MicroPython’s built-in software random fallback instead. Block said this code path first appeared in firmware version v4.0.0, released on March 17, 2021, and went undetected for five years.

The fallback source was predictable

Block said the software fallback was not a true entropy source. Its seed material came only from a chip serial number, a timer and clock registers, values that are either predictable or drawn from a very small range.

On Mk2 and Mk3 devices running v4 firmware, Block said the resulting seeds were almost fully reproducible. On newer models including Mk4, Mk5 and Q, an additional reseeding step raised the search space, but only to about 2^32 possibilities in theory, still far below the strength expected from a mnemonic seed. That left open the possibility that an attacker could reconstruct a private key by recalculating or brute-forcing the limited set of outcomes.

Coinkite halted shipments and published fixed firmware

Coldcard maker Coinkite has issued a security notice and rolled out a series of response measures. The company said it has stopped shipments, destroyed affected inventory and emailed customers who had already received devices.

The notice also listed patched firmware versions by model:

  • Mk2 / Mk3: upgrade to version 4.2.0 or later
  • Mk4 / Mk5: upgrade to version 5.6.0 or later
  • Q: upgrade to version 1.5.0Q or later

Coinkite told users not to generate new seeds on those models before updating. It also said seeds created using at least 50 independent and private dice rolls are not affected by the flaw.

Loss estimates vary, and no user loss has been confirmed by the company

Third-party on-chain estimates of the damage differ widely, ranging from about $38 million to $89 million and spanning hundreds to more than 1,000 addresses.

So far, however, Coinkite has not confirmed any user loss. Block also said it has “not yet done full real-world testing to confirm exploitability.”

Separate claims have circulated in the crypto community. On X, some users shared personal theft reports, including Jonathan Goodman, who said he lost 18.25 BTC. Researchers have also shown that AI tools could identify the bug in open-source code within minutes. Those remain individual claims or demonstrations. Coinkite’s notice did not describe AI as an attack vector, and the actual amount stolen remains unclear.

What affected users were told to do

For Coldcard holders, the guidance from the company was direct: check the device model and firmware version, install the fixed release only through official channels, generate a new seed on the updated firmware, and move funds to a new wallet address.

This article was originally published by Bit.Fan. For more cryptocurrency news and market insights, visit www.bit.fan.
80

Disclaimer:

The market information, project data, and third-party content displayed on this platform are for industry information sharing only and do not constitute any form of investment advice or return commitment.

Cryptocurrency trading carries high risks. Users should fully assess their risk tolerance and make independent decisions. All profits, losses, and legal responsibilities are borne by the users themselves.