Replies (19)

semisol's avatar semisol
It seems that the details were already posted all over the place over Twitter and Telegram, so here is an explanation of it: In Coldcard, there are two implementations of getting bytes from the HWRNG, in cckt and libngu. The path in libngu is used for generating seeds. This one calls the MicroPython API to get random values. The MicroPython API uses the HWRNG if enabled. The problem was that Coinkite disabled the HWRNG for MicroPython. This should not have been an issue, as libngu had a check to see if the HW RNG is enabled. However, this used ifndef, which explicitly checked *if the HW RNG enable was not configured*. It did not check if the HW RNG enable was turned off explicitly, which is what Coinkite did. This led to their code using the flawed software MicroPython RNG, which was solely based on the device boot time and a very weak manufacturing identifier. This means that there are not a lot of different seeds. In Mk4/Mk5, this issue still exists. The only difference is that 32 actually random bits (which is tiny) have been mixed into the RNG. By overly complicating their codebase, in what can only be described as “attempted security through complexity”, they have put all user funds at risk. Regarding the implications: - If you generated using dice or wordlist or another method that included non-Coldcard entropy, you are fine. - If you generated on a non-Coldcard device, you are fine. - If not, your funds are at risk. A passphrase will help slow it down but the main seed is still compromised. Multisigs: You are affected *privacy wise* if one of your members is a Coldcard-generated seed. You are only at risk if the majority of your members are CC. Secure element RNGs: These are fine. You need a proper one though from Infineon/NXP/ST, and not the crappy IoT ones. Also beware the HWW firmware can still butcher the resulting numbers.
View quoted note →
Buys you some time id say. This attacker wasn’t particularly sophisticated (according to Mechanic a few minutes ago) —Now that this vulnerability is public, he expects more sophisticated exploits to surface. I’m just sitting down tonight and creating a new 24word seed via dice rolls and adding a 25th word passphrase so I can sleep well tonight. I know you don’t need this but Im saying it for anyone who does, —Just Take your time and do it. Set up a new 24 word seed on a new hardware device using dice rolls & send $10. Wipe the device Recover using paper seed to verify $10 is there Now confident, move main funds. 🧡👊🏻🍻
Hofer99's avatar
Hofer99 3 weeks ago
Yeah.. But ledger is the little tyke of hardware wallets. It could probably happen to anyone. I dunno. Its Still over my head what happened.
Default avatar
Bogi 3 weeks ago
Is there a way to tell if I used dice initially to setup my cold card? I’m pretty sure I did but it was many, many moons ago and I can’t be for sure. Like is there an offline tool that will check to see if your seed is affected by this?
I can't thank myself enough for getting started. Despite the economic situation, I'm so happy to see €78,000 in returns from a €15,000 short-term investment with pjtradinghub. His videos are top-notch and highly educational, giving you real insights to achieve your goals and come out from debt! For a guide to a professional trader, I highly recommend everyone check out his Telegram 👉 "pjtradinghub" image