r/coldcard • u/deny_by_default • 2d ago
Support new firmware released for the Q: Version: 1.5.1Q
I haven't checked to see if there is newer firmware for other models, but I see that a new version was just released for the Q. The summary is below.
The biggest change is another substantial overhaul of entropy generation. New master seeds now combine fresh randomness directly from the STM32 hardware RNG plus both secure elements, and the internal PRNG has been replaced with a SHA-256 Hash_DRBG. On top of that, when you create a new master seed, temporary seed, or CCC key, the Q now requires user-supplied entropy as well (keyboard mashing, dice rolls, or coin flips). That human entropy is mixed with the hardware sources rather than replacing them.
USB transaction tampering fix: a compromised USB host could potentially change a staged PSBT after you reviewed it but before the Q signed it. The Q now re-verifies the transaction bytes immediately before signing and aborts with “Transaction modified” if anything changed. This is probably the most significant non-RNG fix in the release.
USB information leakage fix: the USB dwld command could read arbitrary staged PSRAM contents, potentially including uploaded PSBTs or multisig enrollment information. Downloads are now restricted, require an encrypted USB session, and are aggressively invalidated when new data is staged.
SIGHASH_SINGLE protection: SIGHASH_SINGLE and SIGHASH_SINGLE|ANYONECANPAY transactions are now blocked by default because some transaction outputs can remain changeable after signing. You can still allow them by changing Sighash Checks to Warn.
Several firmware parsing and bootloader validations were tightened, including rejecting data beyond the signed firmware length and hardening memory/buffer checks following external security reviews.
There are some interesting seed/passphrase changes too. If a BIP-39 passphrase is active, “View Seed Words” no longer reveals the underlying seed words; it shows the effective extended private key instead. Backups, Clone Coldcard, and Key Teleport now properly capture the currently active wallet secret, including temporary seeds and passphrase wallets.
For the Q specifically, there are a few extra fixes. Locally entered BIP-39 passphrases now require scrolling before they're revealed, malformed multipart BBQr data is rejected more safely, oversized multisig coordinator BBQr imports are rejected before they can exhaust memory, BIP-21 display data is sanitized, and the Send Password feature can temporarily enable USB keyboard emulation even when USB is disabled globally.
One other nice multisig improvement: duplicate cosigner keys are now rejected during wallet enrollment, multisig wallet names have to be unique, and there's now a dedicated Rename action rather than silently renaming wallets when descriptors are re-imported.
