This is a large firmware commit that adds a new two-stage bootloader update mechanism for the BitBox02 hardware wallet. It replaces the old single bootloader with a small, fixed 'stage0' plus a separately signed 'stage1', and ships a speci…
Bootloader architecture changed from monolithic to two-stage (stage0 + signed stage1).Firmware signature hash now includes a 16-bit product_id, binding firmware to product variant.Root public keys were rotated/replaced with a single set across all products.
This commit fixes a security gap in the Keystone hardware wallet's Zcash transaction handling. The older 'legacy' code path was only designed to inspect and sign transparent (non-private) Zcash transactions, but its safety check only block…
Incomplete validation/signature path for shielded transaction dataSilent dropping of Sapling/Orchard bundles in legacy transparent-only codeGuard condition too narrow (only V6 + Ironwood) before patch
This commit only adds a new test operation to an existing fuzzing target. It exercises a database compaction function (CompactFullAsync) during automated fuzz testing, with no changes to production code or user-facing behavior. There is no…
This commit is a simple rename of an internal function from CompactFull() to CompactFullAsync(). It does not change what the code does, only its name, to make it clearer that the operation runs in the background rather than blocking. There…
This commit only adds a new automated test for Zcash transparent output parsing. It builds a sample pay-to-public-key-hash (p2pkh) output at runtime and checks that the parser correctly extracts the recipient address, value, and 'not chang…
This commit simply updates the SHA256 digest of the 'blockstream/jade_builder' Docker image used for building and testing Jade in four configuration files. There is no code change, no disclosed security fix, and no evidence in the commit o…
This commit fixes a race condition in the Blockstream Jade hardware wallet's camera and screen rendering code. When the camera task finished, its stack memory could be freed while the GUI task was still trying to draw the last camera image…
Use-after-free / dangling pointer in concurrent GUI/camera task interactionMissing synchronization when camera task memory is freed while GUI may still render itStack-allocated Picture object lifetime exceeds owning task lifetime
This commit is a large feature/refactor patch for Blockstream Jade's libjade (a desktop emulator of the Jade hardware wallet). It adds RPC endpoints that let a host application read the emulated device's screen, push fake button presses, r…
New RPC endpoints allow external read/write of emulated NVS storageNew RPC endpoints allow external screen capture and synthetic input injectionNew RPC endpoints allow external camera frame injection
This commit fixes a user-interface navigation quirk on the M5StickC Plus 2 hardware for Blockstream Jade. When entering a PIN, the up/down button directions were not inverted to match the rest of the device's menus, making number entry con…
This commit adds three simple file-like method declarations (readable, writable, seekable) to a Python class that communicates with a Blockstream Jade hardware wallet. The change appears to be a compatibility fix so the Jade interface obje…
Commit message thanks an external reporter, which can indicate a reported bug or issueNo explicit security language in commit title or messageDiff is purely additive compatibility methods with no input handling, parsing, or trust-boundary changes
This is a small compatibility fix for the Python Jade library so it works with both older and newer versions of the cbor2 serialization library. Newer cbor2 changed which exception it raises when data runs out, so the code now detects the …
Exception-handling compatibility fix for dependency API driftPotential for missed error conditions if wrong exception class is caughtNo direct memory corruption, cryptographic, or authentication issue visible in diff
This commit simply updates the version of a Python library called cbor2 from 5.9.0 to 6.1.2 in the project's dependency list. There is no information in the commit itself saying this fixes a security problem. It is a routine dependency bum…
A quiet fix may be responsible caution—or it may leave users unaware that their assets were ever at risk. CommitWatch preserves the evidence, adds context, and tracks whether vendors disclose, acknowledge, and learn.