Damus
FLASH profile picture
FLASH
@flash
⚡️‼️ NEW - Coldcard bug may have been caused by a compiler workaround.

A new technical analysis by Core-Lightning dev ddustin suggests the 2021 COLDCARD vulnerability may have started while a developer was trying to connect three layers of the firmware: the wallet’s Python code, MicroPython’s C code, and the STM32 hardware random number generator.

The custom code appears to have conflicted with MicroPython’s existing implementation, likely triggering a compiler error.

The evidence suggests the developer then disabled the hardware RNG by setting MICROPY_HW_ENABLE_RNG to 0, allowing the firmware to compile.

That change had an unintended consequence. When users created new wallets, the firmware no longer used the hardware random number generator. Instead, it fell back to MicroPython’s much weaker Yasmarang software random number generator.

The commit message left by the dev was just the word “runs.”

The analysis argues this is a reminder that developers should never ship security-critical code they don’t fully understand, especially when it protects billions of dollars in Bitcoin.

That speaks volumes about the professionalism and reliability of the company behind it.
139❤️13❤️2👀2🤔2❤1👍1
FLASH · 11w
🗞️ https://insider.btcpp.dev/p/when-randombytes-runs-but-doesnt
G Force G · 11w
This would also be a good way to make auditable software pass static code analysis with a backdoor for the elect.
9x9 Bertha Returns · 11w
Every developer knows that if you have to brute force the compiler to compile you did bad. Not a witch hunt just appreciate the implication
P13b 'N F10w · 11w
runs
unit · 11w
Yikes
GermanHodl · 11w
If true this is an unbelievable amount of neglect.
tuma · 11w
nostr:npub1z6dx97fxn94j3z9c3pvgsellnywqgakmj82d7rrr3jdlgy2nqgnq5uf7n9
db · 11w
unintended? it litteraly says "HW_ENABLE_RNG = 0" i.e false.
Monkey D. Luffy · 11w
Such changes are never unintended. Intention was to disable the setting. Don’t let anyone think otherwise
OgFOMK ArTS · 11w
In the military I disabled the very fast baud rate for double encrypted, frequency hopped fire missions. I told my command that the pops and cracks in our phone lines were making the non-acknowlege transmissions. I suggested we fire using a slow baud because we had many assets doing nothing. Million...
brito · 11w
Who even thinks about writing a cybersec software in Python